⚡ OFFIZIELLE DEVELOPER API REFERENZ V1

Huntly Entwickler-API Dokumentation

Integrieren Sie verifizierte Echtzeit-Spritpreise, GPS-Koordinaten und Markendaten von über 80.000 Tankstellen mit minimaler Edge-Latenz über Vercel Global Edge.

1. Übersicht & Architektur

Die B2B-API von Huntly liefert standardisierte Echtzeitdaten zu Tankstellen und Zapfsäulenpreisen in 6 zertifizierten EU-Märkten (Deutschland, Frankreich, Italien, Spanien, Portugal, Großbritannien) und Quebec (Kanada).

Globale Basis-URL:
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. Authentifizierung (X-Huntly-Key)

Alle geschützten Endpunkte erfordern einen aktiven API-Schlüssel im Header `X-Huntly-Key` oder `Authorization: Bearer <API_KEY>`.

Erforderlicher HTTP-Header:
X-Huntly-Key: hnt_sbx_9a8b7c6d5e4f3a2b1c0d

Sandbox-Schlüssel (`hnt_sbx_...`) umfassen monatlich 500 kostenlose Anfragen ohne Kreditkarte.

3. Schnellstart (Quickstart)

Führen Sie Ihren ersten API-Aufruf in unter 60 Sekunden aus:

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

Georäumliche Umkreissuche um GPS-Koordinaten in Echtzeit (PostGIS ST_DWithin).

ParameterTypErforderlichStandardBeschreibung
latfloatSì—Breitengrad in Dezimalgrad (-90.0 bis 90.0)
lngfloatSì—Längengrad in Dezimalgrad (-180.0 bis 180.0)
radius_kmfloatNo10Suchradius in Kilometern (min 0.5, max 50)
fuel_typestringNoallKraftstofffilter: `diesel`, `benzina`, `gpl`, `metano`.
limitintegerNo20Maximale Anzahl an Tankstellen (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

Filterung nach Verwaltungsgebiet (Stadt oder 2-stelliger ISO-Ländercode).

ParameterTypErforderlichStandardBeschreibung
countrystringOpzionale*—2-stelliger ISO-Code: `IT`, `FR`, `DE`, `ES`, `PT`, `UK`, `CA`.
citystringOpzionale*—Name der Stadt (z. B. Berlin, München, Rom, Paris).
fuel_typestringNoallKraftstofffilter: `diesel`, `benzina`, `gpl`, `metano`.
limitintegerNo50Numero di risultati (min 1, max 200)
⚠️ Nota Filtro: Mindestens `country` oder `city` muss angegeben werden.
GET/api/v1/health

Öffentlicher Endpunkt zur Überprüfung der Verfügbarkeit des Edge-Clusters.

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. Ratenbegrenzung & HTTP-Header

Jede HTTP-Antwort liefert Diagnose-Header zur Quotenüberwachung:

Header HTTPTipoDescrizione
X-RateLimit-LimitintegerMonatliches Kontingent Ihres aktiven Abonnements.
X-RateLimit-RemainingintegerVerbleibende Aufrufe im aktuellen Abrechnungsmonat.
X-RateLimit-ResetISO-8601 stringISO-Zeitstempel der monatlichen Quotenzurücksetzung.
Cache-ControlstringValori di caching Edge (`s-maxage=600`, `stale-while-revalidate`) per azzerare le latenze tra chiamate identiche.

8. HTTP-Statuscodes & Fehlerbehebung

CodeBedeutungTypisches Szenario
200OKAnfrage erfolgreich verarbeitet.
400Bad RequestFehlerhafte oder fehlende Parameter (z. B. Radius > 50km).
401UnauthorizedAPI-Key ungültig, fehlend oder widerrufen.
429Too Many RequestsMonatliche Quote überschritten.
500Internal ErrorInterner Serverfehler (Technikteam automatisch alarmiert).

Benötigen Sie technische Unterstützung?

Unser Ingenieursteam unterstützt Sie bei individuellen Enterprise-Pipelines.

📧 Kontakt an infos@gethuntly.eu