Hailing from Tipton, James began his career as a schoolboy with West Bromwich Albion, but was released in 2007 after six years with the club. He signed for Tescoma Zlin, in the Czech Republic, however after a season in their B team and a handful of first team appearances he returned to the UK and joined Hereford United. After four solid seasons at Edgar Street he left and signed for Walsall, earning a one-year deal in July 2013. After leaving Bescot, he had a short spell with Hednesford Town before switching south to Torquay United, leaving in April 2015. A brief spell under Steve Kittrick at the New Buck’s Head saw him move on to Hednesford again, from where he joined Kidderminster Harriers, where he established himself under manager John Eustace. A summer move in June 2018 saw James become a Buck for a second time.