⚡ DOCUMENTATION OFFICIELLE API V1

Référence API Huntly Développeurs

Intégrez les prix des carburants en temps réel, coordonnées GPS certifiées et métadonnées de plus de 80 000 stations avec une latence ultra-faible via Vercel Global Edge.

1. Aperçu & Architecture

L'API B2B de Huntly offre un accès temps réel standardisé aux stations-service et aux prix à la pompe sur 6 marchés européens certifiés (France, Allemagne, Italie, Espagne, Portugal, Royaume-Uni) et le Québec (Canada). Propulsée par Vercel Global Edge et PostGIS.

URL de Base Globale :
https://www.gethuntly.eu/api/v1
✨ Copertura Ufficiale: Italia, Francia, Germania, Spagna, Portogallo, Regno Unito e Quebec (Canada) con granularità per singola stazione e coordinate GPS geoverificate. I dati di Svizzera e Belgio sono forniti come medie nazionali collaborative.

2. Authentification (X-Huntly-Key)

Toutes les requêtes vers les données nécessitent une clé API active transmise dans l'en-tête HTTP `X-Huntly-Key` ou `Authorization: Bearer <API_KEY>`.

En-tête HTTP Obligatoire :
X-Huntly-Key: hnt_sbx_9a8b7c6d5e4f3a2b1c0d

Les clés Sandbox (`hnt_sbx_...`) incluent 500 requêtes gratuites par mois sans carte bancaire requise.

3. Démarrage Rapide

Exécutez votre premier appel API en moins de 60 secondes :

curl -X GET "https://www.gethuntly.eu/api/v1/fuel/nearby?lat=41.9028&lng=12.4964&radius_km=5&fuel_type=diesel" \
  -H "X-Huntly-Key: YOUR_API_KEY"
GET/api/v1/fuel/nearby

Recherche spatiale immédiate par rayon autour d'un point GPS (PostGIS ST_DWithin).

ParamètreTypeRequisDéfautDescription
latfloatSì—Latitude en degrés décimaux (-90.0 à 90.0)
lngfloatSì—Longitude en degrés décimaux (-180.0 à 180.0)
radius_kmfloatNo10Rayon de recherche en kilomètres (min 0.5, max 50)
fuel_typestringNoallType de carburant : `diesel`, `benzina`, `gpl`, `metano`. Si vide, renvoie tous les types.
limitintegerNo20Nombre maximal de stations retournées (min 1, max 100)
Esempio Risposta JSON (200 OK):
200 OK — application/json
{
  "status": "success",
  "meta": {
    "query": {
      "latitude": 41.9028,
      "longitude": 12.4964,
      "radius_km": 5,
      "fuel_type": "diesel",
      "limit": 20
    },
    "results_count": 1,
    "tier": "sandbox",
    "quota_remaining": 492,
    "timestamp": "2026-10-10T12:00:00.000Z"
  },
  "data": [
    {
      "id": "shop_01j7h8k...",
      "name": "Eni Station Roma Termini",
      "brand": "Eni",
      "address": "Via Giovanni Giolitti 40",
      "city": "Roma",
      "country": "IT",
      "coordinates": {
        "latitude": 41.8982,
        "longitude": 12.5034
      },
      "distance_km": 0.78,
      "fuel": {
        "type": "diesel",
        "price": 1.639,
        "service_type": "self",
        "last_updated": "2026-10-10T06:15:00.000Z"
      }
    }
  ]
}
GET/api/v1/fuel/stations

Filtrage des stations par région administrative (Ville ou Code Pays ISO-2).

ParamètreTypeRequisDéfautDescription
countrystringOpzionale*—Code pays à 2 lettres : `IT`, `FR`, `DE`, `ES`, `PT`, `UK`, `CA`.
citystringOpzionale*—Nom de la ville (ex. Paris, Lyon, Rome, Madrid). Recherche insensible à la casse.
fuel_typestringNoallType de carburant : `diesel`, `benzina`, `gpl`, `metano`. Si vide, renvoie tous les types.
limitintegerNo50Numero di risultati (min 1, max 200)
⚠️ Nota Filtro: Au moins un paramètre entre `country` et `city` est obligatoire.
GET/api/v1/health

Point de contrôle public pour vérifier l'état du cluster Edge et la couverture opérationnelle.

200 OK — Pubblico (Nessuna chiave richiesta)
{
  "status": "ok",
  "service": "Huntly European Fuel & Retail B2B API",
  "version": "v1.0.0",
  "timestamp": "2026-10-10T12:00:00.000Z",
  "coverage": {
    "countries": ["IT", "FR", "ES", "DE", "PT", "NL", "BE", "CA-QC"],
    "stations_monitored": "80,000+"
  }
}

7. Limites de Débit & En-têtes HTTP

Chaque réponse HTTP fournit des en-têtes diagnostiques pour suivre vos quotas :

Header HTTPTipoDescrizione
X-RateLimit-LimitintegerLimite mensuelle autorisée selon votre abonnement.
X-RateLimit-RemainingintegerAppels restants pour le mois en cours.
X-RateLimit-ResetISO-8601 stringHorodatage ISO de réinitialisation du quota mensuel.
Cache-ControlstringValori di caching Edge (`s-maxage=600`, `stale-while-revalidate`) per azzerare le latenze tra chiamate identiche.

8. Codes d'Erreur HTTP

CodeSignificationScénario Typique
200OKRequête exécutée avec succès.
400Bad RequestParamètres invalides ou manquants (ex. rayon > 50km).
401UnauthorizedClé API invalide, manquante ou révoquée.
429Too Many RequestsQuota mensuel dépassé.
500Internal ErrorErreur serveur interne signalée à nos équipes.

Besoin d'aide technique ?

Notre équipe d'ingénieurs vous accompagne pour les flux sur mesure et intégrations d'entreprise.

📧 Écrire à infos@gethuntly.eu