Authentification
Clé API optionnelle
Anonyme = 30 req/min, 7j scores. Avec clé = jusqu'à 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 différences avec /api/v1 ?
La v1 reste maintenue. La v2 ajoute l'authentification, des quotas élevés, des champs étendus et un endpoint d'usage.
Obtenir une clé
Trois étapes simples
3
Recevoir la clé
Une clé au format nh_xxxxxxxx.... Sauvegardez-la : elle ne sera plus jamais affichée.
Authentification
Deux méthodes pour transmettre la clé
La clé est envoyée dans l'en-tête X-API-Key (recommandé) ou dans le query string ?api_key= (pour test rapide en curl). Ni Bearer JWT ni Basic Auth ne sont supportés : ces schémas sont réservés aux APIs internes.
Header HTTP (recommandé)
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. Préférez le header en production.
Endpoints v2
Cinq routes
Liste paginée des fournisseurs. Champs étendus si clé présente.
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/providers?limit=100'Exemple authentifié
curl -s 'https://www.nexthop.fr/api/v2/providers?limit=500' \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Détail d'un fournisseur avec critères scorés. Sous-champ comment ajouté si clé.
Exemple anonyme
curl -s https://www.nexthop.fr/api/v2/providers/ovhExemple authentifié
curl -s https://www.nexthop.fr/api/v2/providers/ovh \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Scores courants. Paramètres : ?sort=score|name &order=asc|desc.
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/scores?sort=score&order=desc'Exemple authentifié
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: illimité (param since).
Exemple anonyme
curl -s 'https://www.nexthop.fr/api/v2/scores/history?limit=100'Exemple authentifié
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 clé (tier, rate-limit, quota mensuel). Auth requise.
Exemple authentifié
curl -s https://www.nexthop.fr/api/v2/usage \
-H 'X-API-Key: nh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'Quotas par tier
Rate limit + quota mensuel
Headers de réponse
Surveillance live des limites
Chaque réponse authentifiée inclut ces headers (exposés 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 fenêtre 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 unifié
Une erreur répond avec : { "error": "<code>", "message": "<text>" }. Le quota_exceeded ajoute le champ resets_at.
Suivi quota
Endpoint /api/v2/usage
Renvoie en temps réel le tier, le rate-limit, le quota mensuel, l'usage courant et le pourcentage consommé. Pratique pour déconencher un fallback (ex : passer en cache local au-delà 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