An injury obtained during pre-season hindered his path into the first team and he did not get back into full training until the start of July. On 26 July 2012 he made his first appearance for Aalesund coming on as a substitute at the start of the second half of the game versus Tirana in Europe League scoring twice in Aalesund's 5–0 win. On 29 July 2012 he made his debut in Tippeligaen and also started his first match, against Stabæk.
On 30 April 2018, Molde FK announced the signing of James on a three-year contract.[2] He got his Molde debut on 26 July 2018 when he came on as a 67th minute substitute in Molde's 3–0 win against Laçi in the 2018–19 UEFA Europa League second qualifying round. James scored Molde's third goal in the game. On 22 June 2019, James scored a perfect hat-trick in the first half in Molde's 4–0 away win against Strømsgodset.[3] He scored with his right foot, left foot and his head and completed his hat-trick in 13 minutes and 45 seconds. On 11 July 2019, James scored his second hat-trick for the club, his first in UEFA competitions, in Molde's 7–1 win over KR in the UEFA Europa League first qualifying round.[4] James scored a brace in Molde's 4–0 win against Strømsgodset on Aker Stadion.[5] He scored the third and fourth goal of the game that secured Molde their fourth league title, his first. James finished the 2019 season scoring 24 goals in 38 matches in all competitions.
On 30 December 2021, James scored two goals in Sivasspor's 2–1 win over MKE Ankaragücü in the fifth round of the Turkish Cup.[7] Sivasspor would eventually defeat Kayserispor in the final to secure the club its first major honour.[8]