James played his first two seasons at the University of Minnesota, serving as a reserve corner and the team's primary punt returner until breaking his leg during his sophomore season. James transferred to Southern Illinois for his final two seasons.[3] As a junior, James recorded 30 tackles and led the Salukis with three interceptions and nine passes broken up and was named to the Missouri Valley Football Conference All-Newcomer team.[4]
James was signed by the Minnesota Vikings as an undrafted free agent on April 30, 2018.[6] He was cut by the Vikings at the end of the preseason.[7] James was re-signed to the Vikings' practice squad on October 16, 2018.[8] James was promoted to the Vikings' active roster on November 27, 2018.[9] James made his NFL debut on December 2, 2018, against the New England Patriots.[10] James played three games during his rookie season, appearing exclusively on special teams.[11]
James was waived during final roster cuts on August 31, 2019.[12]
Philadelphia Eagles
James was signed to the Philadelphia Eagles practice squad on September 2, 2019.[13] He was promoted to the team's active roster on September 11, 2019.[14] He was waived on September 17, and re-signed to the team's practice squad the next day.[15][16] He was promoted to the active roster again on September 24 after an injury to Ronald Darby.[17] In the following game against the Green Bay Packers and in the third defensive snap of his career, James deflected a pass at the Eagles three-yard line that was then intercepted by linebacker Nigel Bradham with 28 seconds left to preserve a 34-27 Eagles win.[18] James made his first career start the next week on October 6, 2019, against the New York Jets, making three tackles.[19]
On September 4, 2020, James signed a one-year contract extension with the Eagles through the 2021 season.[20] He was placed on injured reserve on September 15, 2020.[21] He was designated to return from injured reserve on October 7, and began practicing with the team again.[22] He was activated on October 10.[23] He was placed back on injured reserve on November 16 with a shoulder injury.[24]
On August 31, 2021, James was waived by the Eagles and re-signed to the practice squad the next day.[25][26] He was placed on the COVID list on January 1, 2022, and activated three days later, missing just one game.[27][28] He signed a reserve/future contract with the Eagles on January 18, 2022.[29] He was released July 18, 2022.[30]
New York Jets
On July 21, 2022, James signed with the New York Jets, but was released five days later.[31][32] He was signed to the practice squad on September 1, 2022.[33] He signed a reserve/future contract on January 9, 2023.[34]
On August 29, 2023, James was released by the Jets and re-signed to the practice squad.[35][36] He was released on September 26.[37] He was re-signed on October 3, and released again on November 15.[38][39] He was re-signed on November 21 and released again on November 28.[40][41]
Detroit Lions
On December 21, 2023, James was signed to the Detroit Lions practice squad.[42] He signed a reserve/future contract on January 30, 2024.[43] On June 13, 2024, he was released by the Detroit Lions.