At a glance
Bradford City hub| Full name | Calum Kavanagh |
|---|---|
| Name in home country | Calum Graham Kavanagh |
| Date of birth | 2003-09-05 (23 yrs) |
| Place of birth | Cardiff, Ireland |
| Citizenship | Ireland Wales |
| Position | Attack - Centre-Forward (main: Attack) |
| Foot | right |
| Height | 183.00 m |
| Current club | Bradford City |
| Joined | 2024-02-01 |
| Contract expires | 2026-06-30 |
| Agent | SMI Sports ... |
Percentile rank vs 1196 other Attack - Centre-Forwards with ≥500 minutes in 24/25. Higher = better (except cards, where lower = better, inverted automatically).
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| Bradford City | 2 | 23/24 | 24/25 | 61 | 18 | 8 | 674 |
| Middlesbrough FC | 2 | 22/23 | 23/24 | 3 | 0 | 0 | 0 |
| Middlesbrough FC U21 | 2 | 22/23 | 23/24 | 19 | 12 | 2 | 240 |
| Newport County | 1 | 22/23 | 22/23 | 19 | 2 | 1 | 415 |
| Middlesbrough FC U18 | 3 | 19/20 | 21/22 | 43 | 27 | 7 | 355 |
| FC Middlesbrough U23 | 2 | 20/21 | 21/22 | 9 | 8 | 1 | 166 |
| Harrogate Town | 1 | 21/22 | 21/22 | 12 | 1 | 0 | 501 |
Career trajectory, goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 24/25 | EFL Cup | Bradford City | 1 | 0 | 0 | 0 | 0 | 0 |
| 24/25 | EFL Trophy | Bradford City | 4 | 3 | 0 | 1 | 0 | 87 |
| 24/25 | FA Cup | Bradford City | 2 | 1 | 1 | 0 | 0 | 109 |
| 24/25 | League Two | Bradford City | 38 | 9 | 5 | 5 | 0 | 278 |
| 23/24 | Championship | Middlesbrough FC | 2 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | EFL Cup | Middlesbrough FC | 1 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | EFL Trophy | Bradford City | 1 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | League Two | Bradford City | 15 | 5 | 2 | 3 | 0 | 200 |
| 23/24 | Premier League 2 | Middlesbrough FC U21 | 8 | 5 | 1 | 3 | 0 | 128 |
| 22/23 | EFL Cup | Middlesbrough FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 22/23 | League Two | Newport County | 19 | 2 | 1 | 0 | 0 | 415 |
| 22/23 | Premier League 2 | Middlesbrough FC U21 | 11 | 7 | 1 | 1 | 0 | 112 |
| 21/22 | FA Youth Cup | Middlesbrough FC U18 | 1 | 0 | 0 | 0 | 0 | 0 |
| 21/22 | League Two | Harrogate Town | 12 | 1 | 0 | 0 | 0 | 501 |
| 21/22 | Premier League 2 | FC Middlesbrough U23 | 6 | 6 | 0 | 1 | 0 | 75 |
| 21/22 | U18 Premier League | Middlesbrough FC U18 | 4 | 5 | 1 | 1 | 0 | 65 |
| 20/21 | FA Youth Cup | Middlesbrough FC U18 | 3 | 3 | 0 | 0 | 0 | 90 |
| 20/21 | Premier League 2 | FC Middlesbrough U23 | 3 | 2 | 1 | 0 | 0 | 91 |
| 20/21 | U18 Premier League | Middlesbrough FC U18 | 20 | 13 | 5 | 0 | 0 | 111 |
| 19/20 | FA Youth Cup | Middlesbrough FC U18 | 2 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | U18 Premier League | Middlesbrough FC U18 | 13 | 6 | 1 | 0 | 0 | 89 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 19/20 | 2019-07-01 | Boro Yth. | Boro U18 | Transfer | 0 | - |
| 21/22 | 2021-07-01 | Boro U18 | Boro U23 | Transfer | 0 | - |
| 21/22 | 2022-01-28 | Boro U23 | Harrogate Town | Loan | 0 | - |
| 21/22 | 2022-05-31 | Harrogate Town | Boro U23 | Return from loan | 0 | - |
| 22/23 | 2023-01-31 | Boro U21 | Newport County | Loan | 0 | - |
| 22/23 | 2023-05-31 | Newport County | Boro U21 | Return from loan | 100000 | - |
| 23/24 | 2024-02-01 | Boro U21 | Bradford | Transfer | 100000 | - |
| Season | Injury | From | To | Days missed | Games missed |
|---|---|---|---|---|---|
| 25/26 | Shin injury | 2025-08-01 | 44 | 11 |
| Date | Value |
|---|---|
| Jan 1, 1970 | €275k |
| Jan 1, 1970 | €225k |
| Jan 1, 1970 | €225k |
| Jan 1, 1970 | €200k |
| Jan 1, 1970 | €100k |
| Team | Shirt | Matches | Goals | Debut | Age at debut | Status |
|---|---|---|---|---|---|---|
| Team #23132 | #9 | 2 | 1 | - | - | former national player |
| Team #21103 | - | 1 | 0 | - | - | former national player |
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Richard Smallwood | 2 | 1 | 0 |
| Jack Shepherd | 2 | 0 | 0 |
| Pharrell Willis | 2 | 4 | 0 |
| Jack Hannah | 1 | 1 | 0 |
| Jack Stott | 1 | 3 | 0 |
| Jamie Walker | 2 | 0 | 0 |
| Joseph Gibson | 1 | 3 | 0 |
| Fenton John | 2 | 3 | 0 |
| Clarke Oduor | 2 | 2 | 0 |
| Frankie Whelan | 2 | 0 | 0 |
| Afonso Lindo | 1 | 0 | 0 |
| Nathan Simpson | 2 | 1 | 0 |
Single-season peaks across competitions in this player's career.
Top goalscoring seasons
| Season | Competition | Club | Goals | Matches |
|---|---|---|---|---|
| 20/21 | U18 Premier League | Middlesbrough FC U18 | 13 | 20 |
| 24/25 | League Two | Bradford City | 9 | 38 |
| 22/23 | Premier League 2 | Middlesbrough FC U21 | 7 | 11 |
Top assist seasons
| Season | Competition | Club | Assists | Matches |
|---|---|---|---|---|
| 24/25 | League Two | Bradford City | 5 | 38 |
| 20/21 | U18 Premier League | Middlesbrough FC U18 | 5 | 20 |
| 23/24 | League Two | Bradford City | 2 | 15 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 22/23 | 2023-05-31 | Newport County | Boro U21 | Return from loan | - | €100k |
| 22/23 | 2023-01-31 | Boro U21 | Newport County | Loan | - | - |
| 21/22 | 2022-05-31 | Harrogate Town | Boro U23 | Return from loan | - | - |
| 21/22 | 2022-01-28 | Boro U23 | Harrogate Town | Loan | - | - |
Last 50 matches for Bradford City The Availability column cross-references our injury database, matches inside a known injury window are flagged INJURED. Per-match goal attribution requires a paid feed (FBref/Sofascore) and isn't wired up yet.
| Date | Comp | Home | Score | Away | Availability |
|---|---|---|---|---|---|
| 2027-01-19 | GB3 |
Bradford City | - | Burton Albion | TIMED |
| 2026-10-24 | GB3 |
Oxford United | - | Bradford City | TIMED |
| 2026-10-20 | GB3 |
Burton Albion | 0-0 | Bradford City | Available |
| 2026-10-17 | GB3 |
Bradford City | 2-0 | Stevenage | Available |
| 2026-10-10 | GB3 |
Bradford City | 0-0 | Leyton Orient | Available |
| 2026-10-03 | GB3 |
Reading | 1-1 | Bradford City | Available |
| 2026-09-26 | GB3 |
Bradford City | - | Barnsley | FINISHED |
| 2026-09-19 | GB3 |
Luton Town | 0-1 | Bradford City | Available |
| 2026-09-12 | GB3 |
Notts County | 0-1 | Bradford City | Available |
| 2026-09-05 | GB3 |
Bradford City | 1-0 | Mansfield Town | Available |
| 2026-08-15 | GB3 |
Bradford City | 2-0 | Peterborough United | Available |
| 2026-05-02 | GB3 |
Exeter City | 1-2 | Bradford City | Available |
| 2026-04-25 | GB3 |
Bradford City | 1-1 | Bolton Wanderers | Available |
| 2026-04-21 | GB3 |
Bradford City | 1-1 | Plymouth Argyle | Available |
| 2026-04-18 | GB3 |
Barnsley FC | 2-2 | Bradford City | Available |
| 2026-04-11 | GB3 |
Bradford City | 0-1 | Stevenage FC | Available |
| 2026-04-06 | GB3 |
Wycombe Wanderers | 1-2 | Bradford City | Available |
| 2026-04-03 | GB3 |
Bradford City | 1-0 | Northampton Town | Available |
| 2026-03-21 | GB3 |
Burton Albion | 2-1 | Bradford City | Available |
| 2026-03-17 | GB3 |
Bradford City | 1-1 | Mansfield Town | Available |
| 2026-03-14 | GB3 |
Wigan Athletic | 2-0 | Bradford City | Available |
| 2026-03-11 | GB3 |
Port Vale FC | 0-2 | Bradford City | Available |
| 2026-03-07 | GB3 |
Bradford City | 2-1 | Leyton Orient | Available |
| 2026-02-28 | GB3 |
Reading FC | 2-1 | Bradford City | Available |
| 2026-02-24 | GB3 |
Bradford City | 1-0 | Rotherham United | Available |
| 2026-02-21 | GB3 |
AFC Wimbledon | 3-1 | Bradford City | Available |
| 2026-02-17 | GB3 |
Bradford City | 1-0 | Stockport County | Available |
| 2026-02-14 | GB3 |
Bradford City | 2-0 | Peterborough United | Available |
| 2026-02-07 | GB3 |
Luton Town | 2-1 | Bradford City | Available |
| 2026-01-31 | GB3 |
Bradford City | 1-0 | Doncaster Rovers | Available |
| 2026-01-27 | GB3 |
Lincoln City | 3-0 | Bradford City | Available |
| 2026-01-24 | GB3 |
Huddersfield Town | 1-0 | Bradford City | Available |
| 2026-01-17 | GB3 |
Bradford City | 1-2 | Cardiff City | Available |
| 2026-01-04 | GB3 |
Blackpool FC | 1-2 | Bradford City | Available |
| 2026-01-01 | GB3 |
Mansfield Town | 3-0 | Bradford City | Available |
| 2025-12-29 | GB3 |
Bradford City | 1-0 | Port Vale FC | Available |
| 2025-12-26 | GB3 |
Bradford City | 2-1 | Wigan Athletic | Available |
| 2025-12-20 | GB3 |
Leyton Orient | 2-1 | Bradford City | Available |
| 2025-12-13 | GB3 |
Bradford City | 2-0 | Reading FC | Available |
| 2025-12-06 | GB3 |
Plymouth Argyle | 0-1 | Bradford City | Available |
| 2025-11-29 | GB3 |
Bradford City | 1-0 | Exeter City | Available |
| 2025-11-22 | GB3 |
Bolton Wanderers | 0-0 | Bradford City | Available |
| 2025-11-08 | GB3 |
Bradford City | 1-2 | Burton Albion | Available |
| 2025-10-28 | GB3 |
Bradford City | 0-0 | Lincoln City | Available |
| 2025-10-25 | GB3 |
Stevenage FC | 1-1 | Bradford City | Available |
| 2025-10-18 | GB3 |
Bradford City | 2-2 | Barnsley FC | Available |
| 2025-10-02 | GB3 |
Rotherham United | 2-2 | Bradford City | Available |
| 2025-09-27 | GB3 |
Bradford City | 1-0 | Blackpool FC | Available |
| 2025-09-20 | GB3 |
Cardiff City | 1-3 | Bradford City | Available |
| 2025-09-13 | GB3 |
Bradford City | 3-1 | Huddersfield Town | Available |
Teams faced most often by Calum Kavanagh's clubs during seasons he played in those competitions (team-level results, not personal head-to-head goals, see disclaimer above).
| Opponent | P | W | D | L | GF | GA | GD | Win % |
|---|---|---|---|---|---|---|---|---|
| Salford City | 33 | 7 | 9 | 17 | 30 | 50 | -20 | 21% |
| Walsall FC | 33 | 12 | 14 | 7 | 44 | 37 | +7 | 36% |
| Colchester United | 32 | 12 | 9 | 11 | 34 | 32 | +2 | 38% |
| Barrow AFC | 31 | 13 | 6 | 12 | 32 | 30 | +2 | 42% |
| Tranmere Rovers | 31 | 12 | 4 | 15 | 45 | 49 | -4 | 39% |
| Carlisle United | 29 | 13 | 8 | 8 | 34 | 28 | +6 | 45% |
| Swindon Town | 28 | 11 | 6 | 11 | 33 | 37 | -4 | 39% |
| Grimsby Town | 28 | 11 | 10 | 7 | 41 | 37 | +4 | 39% |
| Mansfield Town | 28 | 11 | 7 | 10 | 34 | 43 | -9 | 39% |
| Crawley Town | 27 | 3 | 10 | 14 | 29 | 47 | -18 | 11% |
| Leyton Orient | 22 | 4 | 8 | 10 | 18 | 33 | -15 | 18% |
| Morecambe FC | 22 | 13 | 3 | 6 | 33 | 26 | +7 | 59% |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 19/20 | Senior debut season | |
| 19/20 | First senior goal | |
| 23/24 | Goal #50 (career) |
Yellow / second-yellow / red cards per season. Only seasons with at least one card are shown.
| Season | Matches | Mins | YC | 2nd YC | RC | Cards / 90′ |
|---|---|---|---|---|---|---|
| 24/25 | 45 | 474 | 6 | 0 | 0 | 1.14 |
| 23/24 | 27 | 328 | 6 | 0 | 0 | 1.65 |
| 22/23 | 30 | 527 | 1 | 0 | 0 | 0.17 |
| 21/22 | 23 | 641 | 2 | 0 | 0 | 0.28 |
Output by competition
Career goals and assists broken down by tournament.
More on Calum Kavanagh
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about Calum Kavanagh
Who is Calum Kavanagh?
Calum Kavanagh is an Ireland professional footballer who plays as a centre-forward for Bradford City.
How old is Calum Kavanagh?
Calum Kavanagh is 23 years old. He was born on September 5, 2003 in Cardiff.
What position does Calum Kavanagh play?
Calum Kavanagh plays as a centre-forward (Attack - Centre-Forward).
What club does Calum Kavanagh play for?
Calum Kavanagh currently plays for Bradford City.
How many career goals has Calum Kavanagh scored?
Across all senior club competitions in our dataset, Calum Kavanagh has scored 68 goals in 166 appearances.
What is Calum Kavanagh's market value?
Calum Kavanagh's most recent reported market value is €275k.


