178 cm
Height
7
Shirt
32 yrs
18 Oct 1994
Scotland
Country
€12.6M
Transfer value
30 Jun 2028
Contract end
Left
Foot
RW
AM
Right Winger
Attacking Midfielder
Attacking Midfielder
2026/27
35 games4
Goals
5
Assists
7.01
Rating
2525
Minutes
Skills & potential
Latest highlight
Per 90
| Goals | 0.14 |
| Assists | 0.18 |
| xG | 0.15 |
| xA | 0.09 |
| Shots | 1.35 |
| Key passes | 2.1 |
Attacking totals
| Goals | 4 |
| Assists | 5 |
| xG | 4.2 |
| xA | 2.4 |
| Shots (on target) | 38 (14) |
| Key passes | 59 |
| Pass accuracy | 79.6% |
Defending totals
| Tackles won | 22 |
| Interceptions | 11 |
| Clearances | 10 |
| Duels won | 154 |
| Aerials won | 10 |
| Recoveries | 112 |
Shot map
38 shots · 4.1 xGGoalOn targetOff / blocked● size = xG
38
Shots
4
Goals
9
On target
4.1
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| @ FC Barcelona | 77' | 0 | 0 | 6.0 |
| vs Fulham | 87' | 0 | 0 | 6.2 |
| @ Bournemouth | 20' | 0 | 0 | 6.9 |
| vs Manchester City | 66' | 0 | 1 | 7.3 |
| vs Viking FK | 90' | 0 | 0 | 7.8 |
| @ Newcastle United | 52' | 0 | 0 | 7.0 |
| vs Fenerbahçe | 90' | 0 | 0 | 7.0 |
| vs Brentford | 90' | 1 | 0 | 8.2 |
| vs Slovenia | 87' | 0 | 0 | 6.8 |
| @ North Macedonia | 90' | 1 | 0 | 8.5 |
| vs Switzerland | 90' | 0 | 0 | 6.8 |
| @ Slovenia | 90' | 0 | 0 | 7.5 |
| @ Tottenham Hotspur | 84' | 0 | 1 | 6.6 |
| @ Coventry City | 64' | 0 | 0 | 7.8 |
| vs Nottingham Forest | 90' | 0 | 1 | 7.0 |
| @ Club Brugge KV | 90' | 1 | 0 | 7.9 |
| @ Hull City | 94' | 0 | 0 | 6.2 |
| vs Arsenal | 90' | 0 | 0 | 6.0 |
| @ Brighton & Hove Albion | 82' | 0 | 0 | 6.2 |
| @ Borussia M'gladbach | 0' | 0 | 0 | — |
| @ Paris Saint-Germain | 73' | 0 | 1 | 7.1 |
| @ BG Pathum United | 0' | 0 | 0 | — |
| @ Indonesia XI | 0' | 0 | 0 | — |
| vs Brazil | 89' | 0 | 0 | 6.3 |
| vs Morocco | 89' | 0 | 0 | 6.7 |
| @ Haiti | 83' | 1 | 0 | 7.4 |
| @ Bolivia | 45' | 0 | 0 | 7.1 |
| vs Côte d'Ivoire | 20' | 0 | 0 | 6.8 |
| vs Japan | 63' | 0 | 0 | 6.6 |
| vs Denmark | 90' | 0 | 0 | 6.4 |
| @ Greece | 90' | 0 | 1 | 7.5 |
| vs Belarus | 90' | 0 | 0 | 7.1 |
| vs Greece | 90' | 0 | 0 | 6.9 |
| @ Belarus | 90' | 0 | 0 | 7.3 |
| @ Denmark | 90' | 0 | 0 | 7.3 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 1 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 14 | 3 | 3 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 7 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 10 | 4 | 1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 1 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 2 | 2 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 2 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 1 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 1 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 9 | 1 | 3 |
2012
| Competition | MP | G | A |
|---|---|---|---|
| 33 | 1 | 0 |
2013
| Competition | MP | G | A |
|---|---|---|---|
| 37 | 3 | 0 |
2014
| Competition | MP | G | A |
|---|---|---|---|
| 30 | 0 | 0 |
2015
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 1 | 0 |
2017
| Competition | MP | G | A |
|---|---|---|---|
| 24 | 0 | 0 |
2016
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 30 | 5 | 4 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 34 | 1 | 4 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 35 | 6 | 4 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 35 | 1 | 3 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 35 | 3 | 4 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 37 | 3 | 5 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 28 | 3 | 3 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 13 | 5 | 2 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 10 | 3 | 2 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 43 | 7 | 9 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 1 | 0 |
2016
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2017
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 1 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 1 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
Build this page with the API
Every number here is public data. This is the exact sequence of calls to recreate this page — all free, just add your token.
-
GET
/api/v2/players/510/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/510/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/510/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/510/transfers/Transfer history for the Transfers tab. -
GET
/api/v2/events/{EVENT_ID}/stats/Per-shot xG shotmap — aggregate a player’s matches for the shot map. -
GET
/api/v2/players/510/social/Highlight videos & news for the Overview feed.
Try step 1 right now
cURL
curl -H "Authorization: Token YOUR_KEY" https://sports.bzzoiro.com/api/v2/players/510/
Free football tier — no subscription. Get a token →