185 cm
Height
2
Shirt
24 yrs
10 Jun 2002
Scotland
Country
€21.0M
Transfer value
30 Jun 2028
Contract end
Both
Foot
CB
Centre-Back
2026/27
30 games1
Goals
0
Assists
6.74
Rating
1124
Minutes
Skills & potential
Per 90
| Goals | 0.08 |
| Assists | 0.0 |
| xG | 0.03 |
| xA | 0.01 |
| Shots | 0.8 |
| Key passes | 0.4 |
Attacking totals
| Goals | 1 |
| Assists | 0 |
| xG | 0.4 |
| xA | 0.2 |
| Shots (on target) | 10 (4) |
| Key passes | 5 |
| Pass accuracy | 87.4% |
Defending totals
| Tackles won | 7 |
| Interceptions | 11 |
| Clearances | 37 |
| Duels won | 73 |
| Aerials won | 19 |
| Recoveries | 38 |
Shot map
11 shots · 0.38 xGGoalOn targetOff / blocked● size = xG
11
Shots
1
Goals
1
On target
0.38
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| vs North Macedonia | 14' | 0 | 0 | 6.7 |
| @ Brighton & Hove Albion | 45' | 0 | 0 | 6.0 |
| vs Nottingham Forest | 28' | 0 | 0 | 7.1 |
| @ Sunderland | 37' | 0 | 0 | 6.6 |
| @ Hull City | 62' | 0 | 0 | 6.5 |
| vs Liverpool FC | 19' | 0 | 0 | 7.5 |
| @ Aston Villa | 45' | 0 | 0 | 6.5 |
| vs Slovenia | 24' | 0 | 0 | 6.5 |
| @ North Macedonia | 14' | 0 | 0 | 6.4 |
| vs Switzerland | 0' | 0 | 0 | — |
| @ Slovenia | 78' | 0 | 0 | 6.8 |
| vs Chelsea | 21' | 0 | 0 | 7.0 |
| @ Reading | 13' | 0 | 0 | 6.6 |
| @ Bournemouth | 71' | 0 | 0 | 6.7 |
| vs Sunderland | 45' | 0 | 0 | 6.3 |
| @ Leeds United | 2' | 0 | 0 | — |
| @ Birmingham City | 90' | 1 | 0 | 7.4 |
| vs Tottenham Hotspur | 14' | 0 | 0 | 6.6 |
| vs Eintracht Frankfurt | 29' | 0 | 0 | 6.6 |
| @ Stade Rennais | 0' | 0 | 0 | — |
| vs Brazil | 0' | 0 | 0 | — |
| vs Morocco | 0' | 0 | 0 | — |
| @ Haiti | 75' | 0 | 0 | 7.1 |
| @ Bolivia | 62' | 0 | 0 | 6.9 |
| vs Curaçao | 45' | 0 | 0 | 7.0 |
| vs Denmark | 72' | 0 | 0 | 6.4 |
| @ Greece | 75' | 0 | 0 | 7.0 |
| vs Greece | 58' | 0 | 0 | 6.5 |
| @ Belarus | 16' | 0 | 0 | 6.8 |
| @ Denmark | 70' | 0 | 0 | 7.1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 1 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 1 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 10 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 36 | 5 | 1 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 19 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 23 | 1 | 1 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 29 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 9 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 28 | 0 | 1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 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/2373/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/2373/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/2373/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/2373/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/2373/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/2373/
Free football tier — no subscription. Get a token →