173 cm
Height
11
Shirt
23 yrs
30 Apr 2003
England
Country
€34.0M
Transfer value
30 Jun 2027
Contract end
Right
Foot
LW
RW
Left Winger
Right Winger
Right Winger
2026/27
16 games0
Goals
0
Assists
6.88
Rating
616
Minutes
Skills & potential
Per 90
| Goals | 0.0 |
| Assists | 0.0 |
| xG | 0.27 |
| xA | 0.09 |
| Shots | 3.07 |
| Key passes | 1.61 |
Attacking totals
| Goals | 0 |
| Assists | 0 |
| xG | 1.9 |
| xA | 0.6 |
| Shots (on target) | 21 (8) |
| Key passes | 11 |
| Pass accuracy | 81.7% |
Defending totals
| Tackles won | 12 |
| Interceptions | 3 |
| Clearances | 2 |
| Duels won | 57 |
| Aerials won | 7 |
| Recoveries | 27 |
Shot map
21 shots · 1.87 xGGoalOn targetOff / blocked● size = xG
21
Shots
0
Goals
8
On target
1.87
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| @ Monza | 15' | 0 | 0 | 6.7 |
| vs FC Kairat Almaty | 58' | 0 | 0 | 7.6 |
| vs Parma | 67' | 0 | 0 | 6.6 |
| @ Fiorentina | 32' | 0 | 0 | 6.6 |
| vs Frosinone | 62' | 0 | 0 | 7.0 |
| @ AFC Ajax | 10' | 0 | 0 | 6.6 |
| @ AC Milan | 59' | 0 | 0 | 7.0 |
| vs Pafos FC | 0' | 0 | 0 | — |
| vs Venezia | 76' | 0 | 0 | 6.6 |
| @ Juventus | 84' | 0 | 0 | 6.9 |
| vs Cagliari | 96' | 0 | 0 | 7.4 |
| @ AS Roma | 0' | 0 | 0 | — |
| vs Lazio | 30' | 0 | 0 | 6.7 |
| @ Brighton & Hove Albion | 27' | 0 | 0 | 6.8 |
| vs Pisa | 0' | 0 | 0 | — |
| vs POT Iraklis | 0' | 0 | 0 | — |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 1 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 1 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 1 | 1 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 36 | 3 | 2 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 21 | 0 | 1 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 33 | 3 | 3 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 13 | 4 | 2 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 34 | 12 | 2 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 0 |
Jonathan RoweLoan
Bologna
→
Atalanta
01 Sep 2026
Jonathan RoweTransfer
Olympique de Marseille
→
Bologna
17M €
24 Aug 2025
Jonathan RoweTransfer
Norwich City
→
Olympique de Marseille
14.5M €
01 Jul 2025
Jonathan RoweLoan end
Olympique de Marseille
→
Norwich City
30 Jun 2025
Jonathan RoweLoan
Norwich City
→
Olympique de Marseille
23 Aug 2024
Jonathan RoweFree
Norwich City U21
→
Norwich City
01 Jan 2022
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/969/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/969/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/969/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/969/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/969/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/969/
Free football tier — no subscription. Get a token →