Avant de jouer en franchise régionale avec les Ospreys, il connaît le succès avec le Neath RFC, devenant le meilleur réalisateur de points sur une saison.
En 2011, l'Union sportive arlequins perpignanais, ou USAP, annonce son arrivée pour jouer au poste de demi d'ouverture. Son contrat est prévu pour une durée de trois ans[3]. Les chiffres annoncés concernant son salaire, un million de livres pour trois saisons entre 2011 et 2014 soit presque 384 000 € annuels, le place au-dessus de Sébastien Chabal, et un peu en dessous de Jonny Wilkinson[4]. En 2013, il prolonge son contrat pour trois nouvelles années[5]. Lors de cette saison 2013-2014, il est toutefois confronté à la concurrence de Camille Lopez, arrivé de l'Union Bordeaux Bègles[6].
En 2014, à la suite de la descente de l'USAP en Pro D2, James Hook, qui a toujours pour ambition de disputer la Coupe du monde 2015, décide de quitter l'USAP pour rejoindre un club au pays de Galles ou en Angleterre[7].
En équipe nationale
Après avoir brillé avec les moins de 21 ans gallois, James Hook fait parler son talent avec l'équipe du pays de Galles de rugby à sept, inscrivant l'essai de la victoire contre l'Afrique du Sud lors des Jeux du Commonwealth. Hook intègre le plus haut niveau malgré son jeune âge. En effet, il obtient sa première cape internationale le à l'âge de 21 ans, à l’occasion d’un match contre l'Argentine[2]. Il est appelé dans la sélection des Lions britanniques lors de la tournée 2009 pour remplacer son compatriote Leigh Halfpenny blessé à la cuisse[8]. Bien que figurant parmi les remplaçants lors du dernier test de la série, il n'entre pas sur le terrain[9].
Au , James Hook compte 81 sélections avec le pays de Galles, dont cinquante en tant que titulaire[2]. Il inscrit 352 points, treize essais, 46 transformations, quatre drops et 61 pénalités[2]. Il obtient sa première sélection le à Puerto Madryn contre l'Argentine[2].