Banks joined Dundee United at youth level from Linlithgow Rose Community Football Club in 2013. After being top scorer for the United under-17 team the previous season, he signed his first professional contract with the club in 2018.[5]
In February 2019, Banks joined League Two club Clyde on loan for the rest of the 2018–19 season,[6] quickly becoming a "fans' favourite".[7] He scored the club's goal of the season against Peterhead and was man of the match against Annan Athletic in the match that secured Clyde's promotion from League Two.[8]
After impressing manager Robbie Neilson in pre-season matches,[9] Banks made his Dundee United debut as a substitute against Heart of Midlothian in the Scottish League Cup in July 2019.[10] The following month, United reportedly turned down a £400,000 transfer bid for Banks from Premier League club Crystal Palace.[11] Following this, Banks rejected a new contract offer from Dundee United and was left out of the squad by Neilson.[12]
In January 2020, Banks signed a three-year contract with Crystal Palace.[13] Later in January, Palace loaned Banks to Alloa Athletic until the end of the 2019–20 season.[14]
On 8 August 2022, Banks joined EFL League Two club Bradford City on a season-long loan.[16] At the end of his successful loan spell with the Bantams he was awarded the Supporters Trust Young Player of the Year.[17]
On 10 August 2023, Banks moved on a new loan to St. Pauli in German 2. Bundesliga.[18] After just three substitute appearances, Banks suffered a serious knee injury on 1 September 2023. He returned to the side as a substitute in the last game of the season, providing a crucial late assist to the winning goal as St. Pauli clinched the Bundesliga 2 title. The transfer was subsequently made permanent.[19]
International career
Banks made two appearances for the Scotland under-19 team, both in friendly matches against Japan played in Pinatar, Spain, during September 2019.[20] He was called up to the under-21 squad for the first time in 2021, for two friendly matches against Northern Ireland at the Dumbarton Football Stadium.[21] He made his debut at under-21 international in the first match, a 2–1 win for Scotland.[22]
Prior to being called up for Scotland under-21s, Banks had held talks with Wales under-21 coach Paul Bodin with a view to joining their squad, as he is also eligible to represent Wales.[23]