in 2014. James joined Cardiff City at under-9 level and signed his first professional contract with the club in April 2014. James made his professional debut for Cardiff against
Chelsea on 11 May 2014, coming on as an 89th minute
substitute for
Fraizer Campbell in a 2–1 home loss. On 13 January 2017, James signed for
League Two side
Yeovil Town on a contract until the end of the 2016–17 season, after his contract with Cardiff was cancelled by mutual consent. In January 2018 James signed a contract extension with Yeovil Town until the end of the 2018–19 season. On 1 August 2018, Yeovil accepted a bid of £400,000 from
Championship side
West Bromwich Albion for James. The move fell through the following day after James failed to agree personal terms with the Championship club. James moved to
Scottish Premiership club
Hibernian in June 2019 for an undisclosed fee, signing a three-year contract. He scored his first goal for Hibernian in a 2–0
Scottish League Cup win over
Alloa Athletic on 20 July 2019. On 17 September 2020, James moved on loan to
Wigan Athletic until January 2021. He scored his first goal for Wigan in a 2–1 win away at
Portsmouth on 26 September 2020. On 18 January 2021, James moved on loan to
Salford City until the end of the 2020–21 season. He was cup-tied for Salford's victory in the
2020 EFL Trophy Final (played in March 2021). in 2024. James left Hibernian permanently in July 2021 and signed a one-year contract with
Leyton Orient. In May 2022 he signed for a further two years at Orient and in June 2024 signed another two-year deal, ==International career==