Debutó como profesional en el Evingado FC en la Primera División de Colmbia con 14 años. A los 17 años fichó por el Banfield argentino y se convirtió en el jugador más joven en marcar en su partido de debut. En dos años se convirtió en un fijo y logró el triunfo en el Torneo Apertura de la temporada 2009 con su equipo, teniendo un papel destacado.
Tras un buen papel en la Copa Libertadores, Udinese y Juventus llamaron a la puerta del joven colombiano; pero fue el Porto FC el que se hizo con los derechos del jugador por 5,1 millones de €. Con 19 años ya estaba en uno de los equipos punteros de Europa y eso se confirmó cuando el Porto ganó la Europa League, la liga portuguesa y la copa.
Tras una temporada entrando desde el banquillo, este año James se ha convertido en una de las estrellas del conjunto portugués. Marcó en la Champions League aunque su equipo fue eliminado y en liga está en la tercera posición por la lucha por el máximo goleador. Este buen papel no ha sido desapercibido por el seleccionador colombiano Leonel Álvarez que ya le ha llamado en 4 ocasiones tras sus destacadas actuaciones en las categorías inferiores del equipo 'cafetero'.
Con una altura de 1,86m , de su juego destaca su habilidad en el uno contra uno, su velocidad y su excelente conducción. Además posee una zurda mágica que le permiten asistir con facilidad. No es un goleador nato, pero si que tiene habilidad para ello jugando desde el extremo o como segunda punta. Es un jugador fantasía: rabonas, elásticas y regates están en su repertorio. Hecho que no ha pasado desapercibido en Europa y que ha demostrado el interés de equipos como el Bayern Munich o el Manchester United.