Born in Hastings, Bradley worked his way through the youth set up at Brighton & Hove Albion before being released in the summer of 2015 having not made a senior appearance.
He joined Swindon Town in July 2015 and over the next two years made fifty eight appearances for the Robins before joining Chesterfield on a two year deal in the summer of 2017. He remained with the club after their relegation from the Football League and over two season played for them fifty one times, scoring twice.
He also had a spell on loan at National League side Dover Athletic between September and November 2018, making three appearances.
Having turned down a new deal with the Derbyshire side, he signed for Barrow in May 2018 and made his debut on the opening day of the season at Wrexham.