# 2023–24 Bradford City A.F.C. season

The 2023–24 season is the 121st season in the existence of Bradford City and their fifth consecutive season in League Two. In addition to the league the club are also participating in the FA Cup, the EFL Cup, and the EFL Trophy.

## Current squad

    As of 21 February 2024
| No. | Name | Position | Place of birth | Date of birth (Age) | Previous club | Date signed | Fee | Contract end |
| Goalkeepers ||||||||||
| 1 | Sam Walker | GK | Gravesend | (1991-10-02) 2 October 1991 (age 33) | Charlton Athletic | 11 January 2024 | Free | 30 June 2025 |
| 13 | Colin Doyle | GK | Cork | (1985-06-12) 12 June 1985 (age 39) | Kilmarnock | 1 July 2022 | Free | 30 June 2024 |
| 29 | Heath Richardson | GK | Norfolk | (2004-01-26) 26 January 2004 (age 21) | Academy | 1 July 2022 | Trainee | 30 June 2024 |
| 40 | Zachariah Hadi | GK | | | Academy | 21 February 2024 | Trainee | 30 June 2024 |
| Defenders ||||||||||
| 2 | Brad Halliday | RB | Redcar | (1995-07-10) 10 July 1995 (age 29) | Fleetwood Town | 10 July 2022 | Free | 30 June 2024 |
| 3 | Liam Ridehalgh | LB | Halifax | (1991-04-20) 20 April 1991 (age 33) | Tranmere Rovers | 1 July 2021 | Free | 30 June 2024 |
| 4 | Ash Taylor | CB | Bromborough | (1990-09-02) 2 September 1990 (age 34) | Kilmarnock | 1 July 2023 | Free | 30 June 2025 |
| 5 | Matthew Platt | CB | Knowsley | (1997-10-03) 3 October 1997 (age 27) | Barrow | 1 July 2022 | Free | 30 June 2024 |
| 15 | Sam Stubbs | CB | Liverpool | (1998-11-20) 20 November 1998 (age 26) | Exeter City | 31 January 2023 | Free | 30 June 2024 |
| 18 | Ciaran Kelly | CB | Lucan | (1998-07-04) 4 July 1998 (age 26) | Bohemian | 1 January 2023 | Free | 30 June 2025 |
| 22 | Daniel Oyegoke | RB | Barnet | (2003-01-03) 3 January 2003 (age 22) | Brentford | 1 July 2023 | Loan | 31 May 2024 |
| 31 | Jonathan Tomkinson | CB | Plano | (2002-04-11) 11 April 2002 (age 22) | Norwich City | 6 September 2023 | Loan | 31 May 2024 |
| 32 | Lewis Richards | LB | Liverpool | (2001-10-15) 15 October 2001 (age 23) | Wolverhampton Wanderers | 18 August 2023 | Undisclosed | 30 June 2025 |
| Midfielders ||||||||||
| 6 | Richard Smallwood | CM | Redcar | (1990-12-29) 29 December 1990 (age 34) | Hull City | 1 July 2022 | Free | 30 June 2024 |
| 7 | Jamie Walker | AM | Edinburgh | (1993-06-25) 25 June 1993 (age 31) | Heart of Midlothian | 1 July 2022 | Free | 30 June 2024 |
| 10 | Alex Pattison | CM | Darlington | (1997-09-06) 6 September 1997 (age 27) | Harrogate Town | 1 July 2023 | Free | 30 June 2026 |
| 11 | Alex Gilliead | CM | Shotley Bridge | (1996-02-11) 11 February 1996 (age 29) | Scunthorpe United | 1 July 2021 | Free | 30 June 2025 |
| 23 | Bobby Pointon | AM | Bradford | (2004-01-04) 4 January 2004 (age 21) | Academy | 1 July 2023 | Trainee | 30 June 2024 |
| 26 | Kevin McDonald | DM | Carnoustie | (1988-11-04) 4 November 1988 (age 36) | Exeter City | 1 July 2023 | Free | 30 June 2025 |
| 39 | Gabriel Wadsworth | CM | | | Academy | 21 July 2023 | Trainee | 30 June 2024 |
| Forwards ||||||||||
| 8 | Calum Kavanagh | CF | Cardiff | (2003-09-05) 5 September 2003 (age 21) | Middlesbrough | 1 February 2024 | Undisclosed | 30 June 2026 |
| 9 | Andy Cook | CF | Bishop Auckland | (1990-10-18) 18 October 1990 (age 34) | Mansfield Town | 1 July 2021 | Free | 30 June 2026 |
| 12 | Clarke Oduor | LW | Siaya | (1999-06-25) 25 June 1999 (age 25) | Barnsley | 1 July 2023 | Free | 30 June 2026 |
| 14 | Tyler Smith | CF | Sheffield | (1998-12-04) 4 December 1998 (age 26) | Hull City | 1 July 2023 | Free | 30 June 2026 |
| 20 | Harry Chapman | LW | Hartlepool | (1997-11-05) 5 November 1997 (age 27) | Blackburn Rovers | 1 July 2022 | Free | 30 June 2024 |
| 27 | Matt Derbyshire | CF | Great Harwood | (1986-04-14) 14 April 1986 (age 38) | NorthEast United | 9 January 2023 | Free | 30 June 2024 |
| 28 | Jake Young | CF | Huddersfield | (2001-07-22) 22 July 2001 (age 23) | Forest Green Rovers | 1 July 2022 | Undisclosed | 30 June 2025 |
| 33 | Adam Wilson | LW | Ashington | (2000-04-10) 10 April 2000 (age 24) | The New Saints | 28 August 2023 | Undisclosed | 30 June 2026 |
| 36 | Tyreik Wright | RW | Ovens | (2001-09-22) 22 September 2001 (age 23) | Plymouth Argyle | 15 January 2024 | Loan | 31 May 2024 |
| Out on Loan ||||||||||
| 17 | Luke Hendrie | RB | Leeds | (1994-08-27) 27 August 1994 (age 30) | Hartlepool United | 31 January 2022 | Free | 30 June 2024 |
| 19 | Vadaine Oliver | CF | Sheffield | (1991-10-21) 21 October 1991 (age 33) | Gillingham | 10 July 2022 | Free | 30 June 2025 |
| 21 | Timi Odusina | CB | Croydon | (1999-10-28) 28 October 1999 (age 25) | Hartlepool United | 1 July 2022 | Undisclosed | 30 June 2025 |
| 25 | Harvey Rowe | CM | | (2003-10-04) 4 October 2003 (age 21) | Academy | 1 July 2023 | Trainee | 30 June 2024 |
| 38 | Freddy Jeffreys | CM | Leeds | (2005-08-25) 25 August 2005 (age 19) | Academy | 9 October 2023 | Trainee | 30 June 2024 |
| | Finn Cousin-Dawson | RB | Stockton-on-Tees | (2002-07-04) 4 July 2002 (age 22) | Academy | 1 July 2020 | Trainee | 30 June 2024 |

## Transfers
### In

| Date | Pos | Player | Transferred from | Fee |
| 1 July 2023 | DM | Kevin McDonald | Exeter City | Free Transfer |
| 1 July 2023 | LW | Clarke Oduor | Barnsley | Free Transfer |
| 1 July 2023 | CM | Alex Pattison | Harrogate Town | Free Transfer |
| 1 July 2023 | CF | Tyler Smith | Hull City | Free Transfer |
| 1 July 2023 | CB | Ash Taylor | Kilmarnock | Free Transfer |
| 18 August 2023 | LB | Lewis Richards | Wolverhampton Wanderers | Undisclosed |
| 28 August 2023 | LW | Adam Wilson | The New Saints | Undisclosed |
| 11 January 2024 | GK | Sam Walker | Charlton Athletic | Free Transfer |
| 1 February 2024 | CF | Calum Kavanagh | Middlesbrough | Undisclosed |

### Out

| Date | Pos | Player | Transferred to | Fee |
| 14 June 2023 | LB | Matty Foulds | Harrogate Town | Undisclosed |
| 30 June 2023 | CM | Adam Clayton | Rochdale | Released |
| 30 June 2023 | LW | Abo Eisa | Grimsby Town | Released |
| 30 June 2023 | CF | Cole Roberts | Free agent | Released |
| 30 June 2023 | AM | Kian Scales | Scunthorpe United | Released |
| 30 June 2023 | DM | Yann Songo'o | Morecambe | Released |
| 30 June 2023 | RB | Oscar Threlkeld | Morecambe | Released |
| 30 June 2023 | CM | Jack Wilson | Brighouse Town | Released |
| 30 June 2023 | AM | Charlie Wood | Free agent | Released |
| 11 September 2023 | CM | Jay Tinsdale | Sheffield United | Free Transfer |
| 1 January 2024 | DM | Ryan East | Rochdale | Free Transfer |
| 11 January 2024 | GK | Harry Lewis | Carlisle United | Undisclosed |
| 18 January 2024 | RM | Emmanuel Osadebe | Forest Green Rovers | Undisclosed |

### Loaned in

| Date | Pos | Player | Loaned from | Fee |
| 1 July 2023 | RB | Daniel Oyegoke | Brentford | End of Season |
| 1 September 2023 | LW | Chisom Afoka | Aston Villa | 3 January 2024 |
| 1 September 2023 | SS | Rayhaan Tulloch | West Bromwich Albion | 1 February 2024 |
| 6 September 2023 | CB | Jonathan Tomkinson | Norwich City | End of Season |
| 15 January 2024 | RW | Tyreik Wright | Plymouth Argyle | End of Season |
* ↑ Afoka returned to parent club Aston Villa early from his season-long loan.
* ↑ Tulloch returned to parent club West Brom early from his season-long loan.

### Loaned out

| Date | Pos | Player | Loaned to | Date until |
| 7 July 2023 | RB | Finn Cousin-Dawson | Blyth Spartans | End of Season |
| 2 August 2023 | CF | Jake Young | Swindon Town | 2 January 2024 |
| 4 August 2023 | CF | Isaac Robinson | Farsley Celtic | End of Season |
| 14 August 2023 | DM | Ryan East | Rochdale | 1 January 2024 |
| 1 September 2023 | RB | Luke Hendrie | Hartlepool United | End of Season |
| 15 September 2023 | CB | Timi Odusina | Woking | End of Season |
| 25 October 2023 | CF | Dylan Youmbi | Farsley Celtic | End of Season |
| 12 January 2024 | DM | Harvey Rowe | Farsley Celtic | End of Season |
| 17 January 2024 | CF | Vadaine Oliver | Stevenage | End of Season |
| 15 February 2024 | CF | Dylan Youmbi | Scunthorpe United | End of Season |
* ↑ On 2 January, Young was recalled back from his season-long loan at Swindon early.
* ↑ On 22 December, it was announced East would join Rochdale permanently in January.
* ↑ On 5 January, Odusina's loan at Woking was extended until the end of season.

## Pre-season and friendlies

On 15 June, Bradford City announced their pre-season schedule, with matches against Bury, Eldense, Bradford (Park Avenue), Hull City, Middlesbrough and Rochdale. In July, it was confirmed that Getafe replaced Eldense as pre-season opposition.
Win  Draw  Loss  Fixtures

## Competitions
### Overall record

| Competition | First match | Last match | Starting round | Final position | Record | Record | Record | Record | Record | Record | Record | Record |
| Competition | First match | Last match | Starting round | Final position | Pld | W | D | L | GF | GA | GD | Win % |
| League Two | 5 Aug 2023 | | Matchday 1 | | 45 | 18 | 12 | 15 | 57 | 58 | −1 | 040.00 |
| FA Cup | 4 Nov 2023 | 4 November 2023 | First round | First round | 1 | 0 | 0 | 1 | 1 | 2 | −1 | 000.00 |
| EFL Cup | 8 Aug 2023 | 28 September 2023 | First round | Third round | 3 | 0 | 2 | 1 | 2 | 4 | −2 | 000.00 |
| EFL Trophy | 10 Oct 2023 | | Group stage | | 6 | 6 | 0 | 0 | 16 | 2 | +14 | 100.00 |
| Total | Total | Total | Total | Total | 55 | 24 | 14 | 17 | 76 | 66 | +10 | 043.64 |
Last updated: 17 February 2024 Source: Soccerway

### League Two
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 6 | Crewe Alexandra | 46 | 19 | 14 | 13 | 69 | 65 | +4 | 71 | Qualified for League Two play-offs |
| 7 | Crawley Town (O, P) | 46 | 21 | 7 | 18 | 73 | 67 | +6 | 70 | Qualified for League Two play-offs |
| 8 | Barrow | 46 | 18 | 15 | 13 | 62 | 56 | +6 | 69 | |
| 9 | Bradford City | 46 | 19 | 12 | 15 | 61 | 59 | +2 | 69 | |
| 10 | AFC Wimbledon | 46 | 17 | 14 | 15 | 64 | 51 | +13 | 65 | |
| 11 | Walsall | 46 | 18 | 11 | 17 | 69 | 73 | −4 | 65 | |
| 12 | Gillingham | 46 | 18 | 10 | 18 | 46 | 57 | −11 | 64 | |

#### Results summary

| Overall | Overall | Overall | Overall | Overall | Overall | Overall | Overall | Home | Home | Home | Home | Home | Home | Away | Away | Away | Away | Away | Away |
Last updated: 23 April 2024. Source: Soccerway

#### Results by round

| Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 21$^1$ | 30 | 30 | 32 | 33 | 34 | 29$^2$ | 37 | 38 | 39 | 36$^4$ | 40 | 41 | 42 | 43 | 44 | 45 | 35$^3$ | 46 |
| Ground | A | H | A | A | H | A | H | H | A | H | A | H | A | H | A | A | H | A | H | A | A | A | H | H | A | H | A | H | A | H | A | H | H | H | A | H | H | H | A | H | A | H | A | A | A | H |
| Result | L | W | D | L | W | D | D | D | W | L | L | W | W | D | L | L | L | L | W | W | W | W | D | D | L | L | D | D | L | D | W | W | W | D | W | L | L | L | L | W | D | W | W | W | W | W |
| Position | 18 | 11 | 13 | 18 | 12 | 15 | 16 | 17 | 11 | 14 | 18 | 14 | 11 | 11 | 15 | 16 | 18 | 18 | 14 | 14 | 14 | 10 | 10 | 11 | 13 | 14 | 15 | 16 | 18 | 18 | 14 | 13 | 13 | 16 | 13 | 13 | 15 | 17 | 17 | 14 | 14 | 14 | 13 | 10 | 9 | 9 |
* $^1$ Matchday 21 (vs Salford City) was postponed due to a waterlogged pitch.
* $^2$ Matchday 29 (vs Doncaster Rovers) was postponed due to a frozen pitch.
* $^3$ Matchday 35 (vs Barrow) was postponed after the referee deemed the pitch to be unplayable.
* $^4$ Matchday 36 (vs Notts County) was postponed due to a waterlogged pitch.

#### Matches

On 22 June, the EFL League Two fixtures were released.
Win  Draw  Loss  Fixtures

### FA Cup

Bradford were drawn at home to Wycombe Wanderers in the first round.
Win  Draw  Loss  Fixtures

### EFL Cup

The Bantams were drawn away to Accrington Stanley in the first round, to Wrexham in the second round and at home against Middlesbrough in the third round.
Win  Draw  Loss  Fixtures

### EFL Trophy

The Group stage draw was finalised on 22 June 2023. After topping the group, they were drawn at home to Liverpool U21 in the second round, away to Derby County in the third round, then at home to Doncaster Rovers in the quarter-finals, and finally at home to Wycombe Wanderers in the semi-finals.
| Pos | Div | Teamvte | Pld | W | PW | PL | L | GF | GA | GD | Pts | Qualification |
| 1 | L2 | Bradford City | 3 | 3 | 0 | 0 | 0 | 10 | 2 | +8 | 9 | Advance to Round 2 |
| 2 | L1 | Barnsley | 3 | 2 | 0 | 0 | 1 | 6 | 6 | 0 | 6 | Advance to Round 2 |
| 3 | ACA | Manchester City U21 | 3 | 0 | 1 | 0 | 2 | 3 | 8 | −5 | 2 | |
| 4 | L2 | Grimsby Town | 3 | 0 | 0 | 1 | 2 | 3 | 6 | −3 | 1 | |
Win  Draw  Loss  Fixtures