183 cm
Height
3
Shirt
25 yrs
13 Apr 2001
Wales
Country
€29.0M
Transfer value
30 Jun 2030
Contract end
Right
Foot
LB
RB
LM
Left-Back
Right-Back, Left Midfielder
Right-Back, Left Midfielder
2026/27
31 games2
Goals
1
Assists
7.10
Rating
2276
Minutes
Skills & potential
Per 90
| Goals | 0.08 |
| Assists | 0.04 |
| xG | 0.04 |
| xA | 0.05 |
| Shots | 1.19 |
| Key passes | 1.07 |
Attacking totals
| Goals | 2 |
| Assists | 1 |
| xG | 1.1 |
| xA | 1.3 |
| Shots (on target) | 30 (8) |
| Key passes | 27 |
| Pass accuracy | 85.4% |
Defending totals
| Tackles won | 44 |
| Interceptions | 21 |
| Clearances | 60 |
| Duels won | 147 |
| Aerials won | 33 |
| Recoveries | 113 |
Shot map
31 shots · 1.14 xGGoalOn targetOff / blocked● size = xG
31
Shots
2
Goals
4
On target
1.14
Total xG
| Match | Min | G | A | Rtg |
|---|---|---|---|---|
| vs Manchester City | 90' | 0 | 0 | 6.4 |
| @ Brentford | 90' | 0 | 0 | 6.6 |
| @ Ipswich Town | 84' | 1 | 0 | 7.6 |
| vs Arsenal | 90' | 0 | 0 | 6.4 |
| @ Crystal Palace | 90' | 0 | 0 | 7.2 |
| vs Denmark | 90' | 0 | 0 | 7.4 |
| vs Norway | 90' | 1 | 0 | 7.9 |
| @ Denmark | 90' | 0 | 0 | 6.6 |
| @ Portugal | 90' | 0 | 0 | 7.0 |
| vs Coventry City | 90' | 0 | 0 | 7.3 |
| @ Aston Villa | 90' | 0 | 0 | 6.8 |
| vs Tottenham Hotspur | 90' | 0 | 0 | 6.7 |
| @ Liverpool FC | 90' | 0 | 0 | 8.9 |
| vs Leeds United | 79' | 0 | 0 | 7.0 |
| vs Leeds United | 90' | 0 | 0 | 6.7 |
| vs Bayer 04 Leverkusen | 0' | 0 | 0 | — |
| @ FC Barcelona | 0' | 0 | 0 | — |
| @ Sporting CP | 0' | 0 | 0 | — |
| vs Blackburn Rovers | 0' | 0 | 0 | — |
| @ Notts County | 0' | 0 | 0 | — |
| @ Romania | 87' | 0 | 0 | 7.0 |
| vs Ghana | 90' | 0 | 1 | 7.4 |
| vs Northern Ireland | 90' | 0 | 0 | 6.7 |
| vs Bosnia & Herzegovina | 120' | 0 | 0 | 6.8 |
| vs North Macedonia | 82' | 0 | 0 | 7.3 |
| @ Liechtenstein | 90' | 0 | 0 | 7.9 |
| vs Belgium | 90' | 0 | 0 | 6.2 |
| @ Kazakhstan | 90' | 0 | 0 | 7.0 |
| vs Liechtenstein | 24' | 0 | 0 | 7.0 |
| @ North Macedonia | 90' | 0 | 0 | 7.4 |
| vs Kazakhstan | 90' | 0 | 0 | 7.4 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 8 | 1 | 1 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 8 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 1 | 1 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 6 | 0 | 2 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 1 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 1 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 1 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 4 | 0 | 1 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 10 | 1 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 37 | 2 | 3 |
2024
| Competition | MP | G | A |
|---|---|---|---|
| 38 | 1 | 3 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 31 | 0 | 1 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 33 | 1 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 13 | 0 | 1 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 31 | 0 | 0 |
2019
| Competition | MP | G | A |
|---|---|---|---|
| 15 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 16 | 0 | 1 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 5 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 8 | 0 | 1 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 14 | 2 | 2 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2020
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2021
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 0 |
2022
| Competition | MP | G | A |
|---|---|---|---|
| 1 | 0 | 0 |
2023
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2025
| Competition | MP | G | A |
|---|---|---|---|
| 2 | 0 | 0 |
2026
| Competition | MP | G | A |
|---|---|---|---|
| 3 | 0 | 1 |
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/546/Bio: position, age, nationality, foot, value, team. -
GET
/api/v2/players/546/stats/Season stats + per-90 for the Overview & Stats tabs. -
GET
/api/v2/players/546/career/Season-by-season totals — powers the Career tab. -
GET
/api/v2/players/546/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/546/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/546/
Free football tier — no subscription. Get a token →