Huntly Developer API Reference
Integra prezzi dei carburanti in tempo reale, coordinate GPS certificate e metadati di oltre 80.000 stazioni con latenze minime via Vercel Global Edge.
1. Panoramica & Architettura
L'API B2B di Huntly fornisce accesso programmato a dati omogeneizzati e verificati su stazioni di rifornimento e prezzi alla pompa in 6 mercati europei (Italia, Francia, Germania, Spagna, Portogallo, Regno Unito) e Quebec (Canada). L'infrastruttura opera su nodi Vercel Global Edge con database geospaziale PostGIS ad alta efficienza.
2. Autenticazione (X-Huntly-Key)
Tutte le richieste agli endpoint dei dati richiedono una chiave API attiva passata tramite l'header HTTP `X-Huntly-Key`. In alternativa, è supportato l'header standard `Authorization: Bearer <API_KEY>`.
X-Huntly-Key: hnt_sbx_9a8b7c6d5e4f3a2b1c0d
Le chiavi Sandbox (`hnt_sbx_...`) includono 500 chiamate/mese gratuite senza richiedere carta di credito. I piani Starter e Pro offrono quote scalabili con fatturazione automatica.
3. Primi Passi (Quickstart)
Esegui la tua prima chiamata API in meno di un minuto usando il tuo linguaggio o strumento preferito:
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"
Ricerca geospaziale istantanea per raggio attorno a una coordinata GPS (PostGIS ST_DWithin).
| Parametro | Tipo | Obbligatorio | Default | Descrizione |
|---|---|---|---|---|
| lat | float | Sì | — | Latitudine in gradi decimali (-90.0 a 90.0) |
| lng | float | Sì | — | Longitudine in gradi decimali (-180.0 a 180.0) |
| radius_km | float | No | 10 | Raggio di ricerca in chilometri (min 0.5, max 50) |
| fuel_type | string | No | all | Filtro tipo carburante: `diesel`, `benzina`, `gpl`, `metano`. Se vuoto, restituisce tutti i tipi. |
| limit | integer | No | 20 | Numero massimo di stazioni restituite (min 1, max 100) |
{
"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"
}
}
]
}Ricerca stazioni per area geografica (Comune o Codice Paese ISO a 2 lettere).
| Parametro | Tipo | Obbligatorio | Default | Descrizione |
|---|---|---|---|---|
| country | string | Opzionale* | — | Codice paese a 2 lettere: `IT`, `FR`, `DE`, `ES`, `PT`, `UK`, `CA`. |
| city | string | Opzionale* | — | Nome della città (es. Roma, Madrid, Paris, Berlin, Milano). Ricerca case-insensitive. |
| fuel_type | string | No | all | Filtro tipo carburante: `diesel`, `benzina`, `gpl`, `metano`. Se vuoto, restituisce tutti i tipi. |
| limit | integer | No | 50 | Numero di risultati (min 1, max 200) |
Endpoint pubblico (nessuna chiave richiesta) per il monitoraggio della salute del cluster e la scoperta delle feature attive.
{
"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. Rate Limiting & Header HTTP
Ogni risposta HTTP restituisce header diagnostici per monitorare i consumi in tempo reale:
| Header HTTP | Tipo | Descrizione |
|---|---|---|
| X-RateLimit-Limit | integer | Limite mensile massimo previsto dal piano contrattuale attivo. |
| X-RateLimit-Remaining | integer | Chiamate rimanenti per il mese solare in corso. |
| X-RateLimit-Reset | ISO-8601 string | Timestamp ISO di azzeramento della quota (primo giorno del mese successivo). |
| Cache-Control | string | Valori di caching Edge (`s-maxage=600`, `stale-while-revalidate`) per azzerare le latenze tra chiamate identiche. |
8. Codici di Stato HTTP & Errori
| Codice | Significato | Scenario d'uso |
|---|---|---|
| 200 | OK | Richiesta completata con successo. |
| 400 | Bad Request | Parametri mancanti o non validi (es. coordinate fuori scala o raggio > 50km). |
| 401 | Unauthorized | API Key mancante, non valida o revocata. |
| 429 | Too Many Requests | Quota mensile esaurita (contatta il supporto o aggiorna il piano nella console). |
| 500 | Internal Error | Errore interno del server. Notifica automatica inviata al team di ingegneria. |
Hai bisogno di supporto tecnico?
Il nostro team di ingegneri risponde per integrazioni enterprise, feed personalizzati o contratti SLA.
📧 Scrivi a infos@gethuntly.eu