Authentification
Cle API optionnelle
Anonyme = 30 req/min, 7j scores. Avec cle = jusqu'a 10 000 req/min selon le tier.
Quotas
10k / 100k / 1M mois
Free / Pro / Enterprise. Reset au 1er du mois (champ X-Quota-Reset).
Migration depuis v1
Quelles differences avec /api/v1 ?
La v1 reste maintenue. La v2 ajoute l'authentification, des quotas eleves, des champs etendus et un endpoint d'usage.
Obtenir une cle
Trois etapes simples
3
Recevoir la cle
Une cle au format nh_xxxxxxxx.... Sauvegardez-la : elle ne sera plus jamais affichee.
Authentification
Deux methodes pour transmettre la cle
La cle est envoyee dans l'en-tete X-API-Key (recommande) ou dans le query string ?api_key= (pour test rapide en curl). Ni Bearer JWT ni Basic Auth ne sont supportes : ces schemas sont reserves aux APIs internes.
Header HTTP (recommande)
curl -s https://www.nexthop.fr/api/v2/usage \
-H 'X-API-Key: nh_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6'Query parameter (test rapide)
curl -s 'https://www.nexthop.fr/api/v2/scores?api_key=nh_a1b2c3d4...'Note : les query strings finissent dans les logs serveur et navigateur. Preferez le header en production.
Endpoints v2
Cinq routes
Liste paginee des fournisseurs. Champs etendus si cle presente.
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/providers?limit=100'Exemple authentifie
curl -s 'https://www.nexthop.fr/api/v2/providers?limit=500' \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Detail d'un fournisseur avec criteres scores. Sous-champ comment ajoute si cle.
Exemple anonyme
curl -s https://www.nexthop.fr/api/v2/providers/ovhExemple authentifie
curl -s https://www.nexthop.fr/api/v2/providers/ovh \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Scores courants. Parametres : ?sort=score|name &order=asc|desc.
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/scores?sort=score&order=desc'Exemple authentifie
curl -s 'https://www.nexthop.fr/api/v2/scores?sort=score&order=desc' \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Historique des changements de score. Anon: 7j max. Auth: illimite (param since).
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/scores/history?limit=100'Exemple authentifie
curl -s 'https://www.nexthop.fr/api/v2/scores/history?since=2025-01-01&limit=5000' \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Stats d'usage de la cle (tier, rate-limit, quota mensuel). Auth requise.
Exemple authentifie
curl -s https://www.nexthop.fr/api/v2/usage \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Quotas par tier
Rate limit + quota mensuel
Headers de reponse
Surveillance live des limites
Chaque reponse authentifiee inclut ces headers (exposes via Access-Control-Expose-Headers pour les SPA) :
X-RateLimit-Limit: 600 # max req/min pour le tier
X-RateLimit-Remaining: 587 # restantes dans la fenetre courante
X-RateLimit-Reset: 1716462000 # epoch UNIX du reset
X-Quota-Limit: 100000 # quota mensuel
X-Quota-Remaining: 94213 # restantes ce mois
X-Quota-Reset: 2026-06-01T00:00:00.000ZCodes d'erreur
Format unifie
Une erreur reponds avec : { "error": "<code>", "message": "<text>" }. Le quota_exceeded ajoute le champ resets_at.
Suivi quota
Endpoint /api/v2/usage
Renvoie en temps reel le tier, le rate-limit, le quota mensuel, l'usage courant et le pourcentage consomme. Pratique pour deconencher un fallback (ex : passer en cache local au-dela de 80%).
{
"data": {
"tier": "pro",
"rate_limit_per_minute": 600,
"monthly_quota": 100000,
"current_month_usage": 5787,
"remaining": 94213,
"percent_used": 5.8
},
"meta": {
"generated_at": "2026-05-23T12:30:00.000Z"
}
}Pour aller plus loin