192 cm
Height
5
Shirt
22 yrs
11 Feb 2004
Scotland
Country
€3.2M
Transfer value
30 Jun 2030
Contract end
Left
Foot
CB
Centre-Back
2026/27
26 games1
Goals
0
Assists
7.05
Rating
1460
Minutes
Per 90
| Goals | 0.06 |
| Assists | 0.0 |
| xG | 0.06 |
| xA | 0.01 |
| Shots | 0.43 |
| Key passes | 0.18 |
Attacking totals
| Goals | 1 |
| Assists | 0 |
| xG | 0.9 |
| xA | 0.2 |
| Shots (on target) | 7 (1) |
| Key passes | 3 |
| Pass accuracy | 83.6% |
Defending totals
| Tackles won | 19 |
| Interceptions | 23 |
| Clearances | 96 |
| Duels won | 99 |
| Aerials won | 50 |
| Recoveries | 60 |
Shot map
7 shots · 1.16 xGGoalOn targetOff / blocked● size = xG
7
Shots
1
Goals
1
On target
1.16
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| vs North Macedonia | 90' | 0 | 0 | 6.3 |
| @ Portsmouth | 90' | 0 | 0 | 7.5 |
| @ Blackburn Rovers | 90' | 0 | 0 | 7.4 |
| vs Preston North End | 95' | 0 | 0 | 7.3 |
| vs Bristol City | 95' | 0 | 0 | 7.5 |
| @ Derby County | 90' | 1 | 0 | 8.5 |
| vs Middlesbrough | 90' | 0 | 0 | 6.1 |
| @ Bolton Wanderers | 90' | 0 | 0 | 7.7 |
| vs Slovenia | 0' | 0 | 0 | — |
| @ North Macedonia | 10' | 0 | 0 | 6.9 |
| vs Switzerland | 0' | 0 | 0 | — |
| @ Slovenia | 0' | 0 | 0 | — |
| vs Sheffield United | 90' | 0 | 0 | 7.0 |
| @ Watford | 90' | 0 | 0 | 6.9 |
| @ Cardiff City | 90' | 0 | 0 | 6.1 |
| vs Charlton Athletic | 90' | 0 | 0 | 7.3 |
| vs Norwich City | 90' | 0 | 0 | 7.6 |
| @ Wolverhampton | 0' | 0 | 0 | — |
| vs Hull City | 90' | 0 | 0 | 6.5 |
| @ Southampton | 0' | 0 | 0 | — |
| vs Swansea City | 90' | 0 | 0 | 6.2 |
| vs Oldham Athletic | 90' | 0 | 0 | 7.1 |
| vs Valencia | 0' | 0 | 0 | — |
| vs Everton | 0' | 0 | 0 | — |
| @ Crewe Alexandra | 0' | 0 | 0 | — |
| vs Curaçao | 0' | 0 | 0 | — |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 15 | 1 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 37 | 2 | 1 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 9 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
Luke GrahamTransfer
Dundee FC
→
Stoke City
2.4M €
02 Jul 2026
Luke GrahamLoan end
Falkirk FC
→
Dundee FC
31 May 2025
Luke GrahamLoan
Dundee FC
→
Falkirk FC
04 Feb 2025
Luke GrahamLoan end
Falkirk FC
→
Dundee FC
01 Jan 2025
Luke GrahamLoan
Dundee FC
→
Falkirk FC
20 Sep 2024
Luke GrahamFree
Dundee FC Reserve
→
Dundee FC
01 Jul 2024
Luke GrahamLoan end
Montrose
→
Dundee FC Reserve
31 Jan 2024
Luke GrahamLoan
Dundee FC Reserve
→
Montrose
01 Sep 2023
Luke GrahamLoan end
Albion Rovers
→
Dundee FC Reserve
31 May 2023
Luke GrahamLoan
Dundee FC Reserve
→
Albion Rovers
30 Sep 2022
Luke GrahamFree
—
→
Dundee FC Reserve
01 Jul 2022
Luke GrahamLoan
—
→
—
01 Jul 2021
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/5969/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/5969/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/5969/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/5969/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/5969/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/5969/
Free football tier — no subscription. Get a token →