Referência da API Huntly para Programadores
Integre preços de combustíveis em tempo real, coordenadas GPS certificadas e metadados de mais de 80.000 postos com latência mínima via Vercel Global Edge.
1. Visão Geral e Arquitetura
A API B2B da Huntly fornece acesso estruturado e contínuo a dados de postos de combustível em 6 mercados certificados da UE (Portugal, Espanha, França, Alemanha, Itália, Reino Unido) e Quebec (Canadá).
2. Autenticação (X-Huntly-Key)
Todos os pedidos protegidos exigem uma chave API ativa no cabeçalho `X-Huntly-Key` ou `Authorization: Bearer <API_KEY>`.
X-Huntly-Key: hnt_sbx_9a8b7c6d5e4f3a2b1c0d
As chaves Sandbox (`hnt_sbx_...`) incluem 500 pedidos gratuitos por mês sem necessidade de cartão de crédito.
3. Início Rápido (Quickstart)
Faça o seu primeiro pedido à API em menos de 60 segundos:
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"
Pesquisa geoespacial instantânea por raio em torno de coordenadas GPS (PostGIS ST_DWithin).
| Parâmetro | Tipo | Obrigatório | Predefinição | Descrição |
|---|---|---|---|---|
| lat | float | Sì | — | Latitude em graus decimais (-90.0 a 90.0) |
| lng | float | Sì | — | Longitude em graus decimais (-180.0 a 180.0) |
| radius_km | float | No | 10 | Raio de pesquisa em quilómetros (mín 0.5, máx 50) |
| fuel_type | string | No | all | Filtro de combustível: `diesel`, `benzina`, `gpl`, `metano`. |
| limit | integer | No | 20 | Número máximo de postos retornados (mín 1, máx 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"
}
}
]
}Filtragem por área administrativa (Cidade ou Código de País ISO-2).
| Parâmetro | Tipo | Obrigatório | Predefinição | Descrição |
|---|---|---|---|---|
| country | string | Opzionale* | — | Código ISO de 2 letras: `IT`, `FR`, `DE`, `ES`, `PT`, `UK`, `CA`. |
| city | string | Opzionale* | — | Nome da cidade (ex. Lisboa, Porto, Madrid, Paris). |
| fuel_type | string | No | all | Filtro de combustível: `diesel`, `benzina`, `gpl`, `metano`. |
| limit | integer | No | 50 | Numero di risultati (min 1, max 200) |
Endpoint público para verificar o estado operacional do cluster Edge.
{
"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 Pedidos & Cabeçalhos HTTP
Cada resposta HTTP devolve cabeçalhos de diagnóstico para monitorização:
| Header HTTP | Tipo | Descrizione |
|---|---|---|
| X-RateLimit-Limit | integer | Limite mensal permitido pelo plano subscrito. |
| X-RateLimit-Remaining | integer | Chamadas restantes para o ciclo mensal atual. |
| X-RateLimit-Reset | ISO-8601 string | Carimbo de data/hora ISO de reinício da quota mensal. |
| Cache-Control | string | Valori di caching Edge (`s-maxage=600`, `stale-while-revalidate`) per azzerare le latenze tra chiamate identiche. |
8. Códigos de Erro HTTP
| Código | Significado | Cenário Típico |
|---|---|---|
| 200 | OK | Pedido concluído com sucesso. |
| 400 | Bad Request | Parâmetros em falta ou inválidos (ex. raio > 50km). |
| 401 | Unauthorized | Chave API inválida ou revogada. |
| 429 | Too Many Requests | Quota mensal excedida. |
| 500 | Internal Error | Erro interno do servidor. |
Necessita de apoio técnico?
A nossa equipa de engenharia presta apoio para integrações empresariais e contratos de nível de serviço (SLA).
📧 Contactar infos@gethuntly.eu