168 cm
Height
19
Shirt
25 yrs
08 Oct 2001
England
Country
€1.9M
Transfer value
30 Jun 2029
Contract end
Right
Foot
LM
Left Midfielder
2026/27
16 games2
Goals
1
Assists
6.89
Rating
830
Minutes
Per 90
| Goals | 0.22 |
| Assists | 0.11 |
| xG | 0.22 |
| xA | 0.14 |
| Shots | 0.87 |
| Key passes | 0.76 |
Attacking totals
| Goals | 2 |
| Assists | 1 |
| xG | 2.1 |
| xA | 1.3 |
| Shots (on target) | 8 (4) |
| Key passes | 7 |
| Pass accuracy | 76.0% |
Defending totals
| Tackles won | 16 |
| Interceptions | 8 |
| Clearances | 7 |
| Duels won | 53 |
| Aerials won | 7 |
| Recoveries | 55 |
Shot map
9 shots · 2.06 xGGoalOn targetOff / blocked● size = xG
9
Shots
3
Goals
4
On target
2.06
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| vs Exeter City | 0' | 0 | 0 | — |
| vs Luton Town | 90' | 0 | 0 | 7.2 |
| @ Bradford City | 89' | 0 | 0 | 6.6 |
| vs Wigan Athletic | 90' | 0 | 0 | 6.6 |
| vs Peterborough United | 90' | 1 | 0 | 7.9 |
| @ Plymouth Argyle | 90' | 0 | 1 | 7.9 |
| vs Sheffield Wednesday | 90' | 0 | 0 | 5.9 |
| @ Burton Albion | 90' | 1 | 0 | 7.7 |
| @ Bromley | 90' | 0 | 0 | 7.4 |
| @ Mansfield Town | 29' | 0 | 0 | 6.9 |
| vs Notts County | 8' | 0 | 0 | 6.9 |
| vs AFC Wimbledon | 29' | 0 | 0 | 5.1 |
| @ Preston North End | 45' | 0 | 0 | 6.6 |
| vs Blackburn Rovers | 0' | 0 | 0 | — |
| @ Fleetwood Town | 0' | 0 | 0 | — |
| @ Birmingham City | 0' | 0 | 0 | — |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 16 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 43 | 6 | 7 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 25 | 0 | 3 | |
| 20 | 0 | 2 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 11 | 2 | 1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 1 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2018
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 1 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2017
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 46 | 0 | 2 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 44 | 3 | 3 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 20 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 14 | 0 | 0 |
Bali MumbaTransfer
Plymouth Argyle
→
Huddersfield Town
1.2M €
15 Jan 2026
Bali MumbaTransfer
Norwich City
→
Plymouth Argyle
1.2M €
21 Jul 2023
Bali MumbaLoan end
Plymouth Argyle
→
Norwich City
31 May 2023
Bali MumbaLoan
Norwich City
→
Plymouth Argyle
14 Jul 2022
Bali MumbaLoan end
Peterborough United
→
Norwich City
31 May 2022
Bali MumbaLoan
Norwich City
→
Peterborough United
06 Jan 2022
Bali MumbaTransfer
Sunderland U21
→
Norwich City
385k €
27 Jul 2020
Bali MumbaLoan
Sunderland U21
→
South Shields
05 Mar 2020
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/28103/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/28103/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/28103/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/28103/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/28103/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/28103/
Free football tier — no subscription. Get a token →