OpenVan.camp Public API
Dados abertos sobre preços de combustível, taxas de câmbio e eventos vanlife. Uso gratuito em apps, bots e artigos sob CC BY 4.0.
Sem chave de API
Chame qualquer endpoint diretamente — sem registro nem cabeçalho de autenticação
100% grátis
142 países, atualizações semanais, licença CC BY 4.0
CORS habilitado
Funciona direto do navegador, sem proxy no servidor
Feito com OpenVan
Apps vanlife, rastreadores de preços de combustível, planejadores de rotas e ferramentas EV de uma dezena de países já funcionam com nossos dados abertos.
Quem já usa
Uma seleção — apps de combustível, planejadores de rotas, painéis de EV e de frotas.
Vemos ChatGPT, Perplexity, Claude e Gemini buscando dados do OpenVan — os dados da sua integração também podem aparecer nas respostas deles.
Usa nossa API?
Adicione ?source=seu-domínio às suas chamadas — e você aparecerá nesta vitrine.
- Sem chave de API. Chame qualquer endpoint diretamente — sem registro nem cabeçalho de autenticação.
- CORS habilitado. Os endpoints podem ser chamados direto do navegador.
- Formato da resposta: sempre
{ "success": true, "data": {...} } - Cache: preços de combustível TTL 6 h · taxas de câmbio TTL 25 h · não consulte mais de uma vez a cada 10 min
- Especificação OpenAPI 3.0 completa: /docs.openapi · exemplos no GitHub
- Atribuição: adicione
?source=your-app.compara identificar sua integração — não requer autenticação, apenas boa prática.
Padrão de prompt recomendado: "Obtenha os preços atuais de combustível para [país] em [moeda] usando a API do OpenVan.camp em https://openvan.camp/api/fuel/prices"
Endpoints disponíveis
/api/fuel/prices
142 países
Preços atuais de combustível para 142 países. A lista de chaves de preço é gerada a partir do contrato atual da API. Atualizados semanalmente a partir de fontes governamentais oficiais (EU Oil Bulletin, Statistics Norway, EIA, ANP, NRCan e outros). Cache 6 horas. Dados de combustível atualizados em: 25 julho 2026.
Current price keys:
gasoline_regular, gasoline, gasoline_premium, gasoline_super, diesel_regular, diesel, diesel_premium, lpg, cng, e85, kerosene, premium
curl https://openvan.camp/api/fuel/prices
Exemplo de resposta:
{
"success": true,
"data": {
"DE": {
"country_code": "DE",
"country_name": "Germany",
"region": "europe",
"currency": "EUR",
"local_currency": "EUR",
"unit": "liter",
"prices": {
"gasoline_regular": null,
"gasoline": 2.1649,
"gasoline_premium": 2.2106,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 2.1726,
"diesel_premium": 2.4319,
"lpg": 1.1065,
"cng": null,
"e85": null,
"kerosene": null,
"premium": 2.2106
},
"price_changes": {
"gasoline_regular": null,
"gasoline": -0.005,
"gasoline_premium": -0.0824,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 0.0401,
"diesel_premium": -0.0564,
"lpg": -0.0021,
"cng": null,
"e85": null,
"kerosene": null,
"premium": null
},
"fetched_at": "2026-07-25T11:19:58+03:00",
"sources": [
"EU Weekly Oil Bulletin",
"clever-tanken.de (Premium Diesel)",
"Tankerkoenig (tankerkoenig.de)",
"Cargopedia.net",
"Fuelo.net",
"BenzinpreisAktuell.de"
],
"sources_count": 4,
"is_excluded": false
}
},
"meta": {
"total_countries": 142,
"updated_at": "2026-07-25 11:19:58",
"cache_ttl_hours": 6
}
}
/api/currency/rates
150+ moedas
Taxas de câmbio para 150+ moedas em relação ao EUR. Obtidas de múltiplas APIs de código aberto com fallback automático. Cache 1 hora.
curl https://openvan.camp/api/currency/rates
Exemplo de resposta (baseado em EUR, todas as taxas relativas a EUR=1):
{
"success": true,
"rates": { "EUR": 1, "USD": 1.08, "GBP": 0.85, "RUB": 98.5, "TRY": 35.2, "GEL": 2.95, "KZT": 520 },
"cached": true,
"updated_at": "2026-03-28T07:00:00+00:00"
}
/api/vanbasket/countries
90+ países
VanBasket Food Price Index — o quão cara é a comida em relação à média mundial (Mundo = 100). Baseado no World Bank ICP 2021, ajustado com IMF CPI.
# All countries
curl https://openvan.camp/api/vanbasket/countries
# Compare two countries
curl "https://openvan.camp/api/vanbasket/compare?from=DE&to=TR"
# Single country with history
curl https://openvan.camp/api/vanbasket/countries/DE
/api/visa/check
39.601 pares
Regras de visto e fronteira: quanto tempo pode permanecer para qualquer par passaporte × destino, como os dias são contados (por entrada ou em janela móvel), se um visa run zera o contador — além das regras de importação temporária de veículo. Cada resposta traz a sua confiança, a fonte e a camada de onde veio.
# One pair: stay rule, entry mode, shared-counter zone, vehicle rule
curl "https://openvan.camp/api/visa/check?passport=RU&destination=TR"
# All 199 destinations for one passport
curl "https://openvan.camp/api/visa/passport/DE?mode=visa_free"
# Compact payload for colouring a world map
curl https://openvan.camp/api/visa/map/US
# Temporary vehicle import rules
curl https://openvan.camp/api/visa/vehicle/georgia
# Passport ranking and the change log
curl "https://openvan.camp/api/visa/rank?limit=10"
curl "https://openvan.camp/api/visa/history?subject_key=RU%3ETR"
/api/events
eventos vanlife
Lista paginada de eventos vanlife — exposições, festivais, encontros, road trips. Filtre por status, tipo, país. Nomes localizados em 7 idiomas.
# Upcoming events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming"
# Search by name, Russian locale
curl "https://openvan.camp/api/events?search=Adventure+Northside&locale=ru"
# Event details + linked source articles
curl "https://openvan.camp/api/event/adventure-northside-2026?locale=en"
curl "https://openvan.camp/api/event/adventure-northside-2026/articles?locale=en"
en ru de fr es pt tr. Padrão: en. Uma localidade desconhecida é silenciosamente substituída por en.
fallback de articles: se nenhum artigo corresponder à localidade solicitada, todos os artigos de origem são retornados.
/api/stories
7 idiomas
Notícias vanlife agregadas de 200+ publicadores e traduzidas para 7 idiomas. Cada matéria inclui sources — os artigos originais dos publicadores com links diretos, nomes das fontes, datas de publicação e códigos de idioma.
# Latest stories in English
curl "https://openvan.camp/api/stories?locale=en"
# Filter by category and country
curl "https://openvan.camp/api/stories?locale=de&category=festival&country=DE"
# Full story with all source articles
curl "https://openvan.camp/api/story/adac-camper-des-jahres-der-wettbewerb-fuer?locale=en"
Exemplo de resposta para /api/story/{slug}:
{
"slug": "adac-camper-des-jahres-der-wettbewerb-fuer",
"title": "ADAC launches 'Camper of the Year' competition for motorhome drivers",
"summary": "ADAC is holding the national 'Camper des Jahres 2026' competition for motorhome owners...",
"image_url": "https://...",
"category": { "slug": "festival", "name": "Festivals" },
"countries": [{ "code": "de", "name": "Germany", "flag_emoji": "🇩🇪" }],
"first_published_at": "2026-01-22T11:00:00+03:00",
"last_updated_at": "2026-07-04T04:16:47+03:00",
"articles_count": 5,
"url": "https://openvan.camp/en/news/festival/adac-camper-des-jahres-der-wettbewerb-fuer",
"sources": [
{
"title": "Nürburgring: Bundesweiter Wettbewerb «Camper des Jahres»",
"original_url": "https://www.blick-aktuell.de/Berichte/...",
"source_name": "BLICK aktuell",
"published_at": "2026-04-30T09:24:20+03:00",
"language": "de",
"image_url": "https://..."
}
]
}
en ru de fr es pt tr. Padrão: en. Afeta title, summary, e category.name.
sources[].language é sempre o idioma original do publicador, independente da localidade.
Início rápido
JavaScript — o diesel mais barato da Europa
const { data } = await fetch("https://openvan.camp/api/fuel/prices").then(r => r.json());
const cheapest = Object.values(data)
.filter(c => c.region === "europe" && c.prices.diesel !== null)
.sort((a, b) => a.prices.diesel - b.prices.diesel)
.slice(0, 5);
cheapest.forEach(c => console.log(`${c.country_name}: ${c.prices.diesel} ${c.currency}/L`));
JavaScript — conversão para USD com taxas de câmbio
const [{ data }, { rates }] = await Promise.all([
fetch("https://openvan.camp/api/fuel/prices").then(r => r.json()),
fetch("https://openvan.camp/api/currency/rates").then(r => r.json()),
]);
// Convert any price to USD/liter
function toUSD(price, currency, unit) {
let usd = (price / rates[currency]) * rates["USD"];
return unit === "gallon" ? usd / 3.78541 : usd;
}
const de = data["DE"];
console.log(`Germany diesel: $${toUSD(de.prices.diesel, de.currency, de.unit).toFixed(3)}/L`);
Python — países com GLP
import requests
data = requests.get("https://openvan.camp/api/fuel/prices").json()["data"]
lpg = [(v["country_name"], v["prices"]["lpg"], v["currency"])
for v in data.values() if v["prices"]["lpg"] is not None]
for name, price, currency in sorted(lpg, key=lambda x: x[1])[:10]:
print(f"{name}: {price} {currency}/L")
Mais exemplos (bash, pandas, widget): GitHub →
SDK JavaScript / TypeScript
SDK tipado oficial — sem configuração, funciona em Node.js ≥ 18, navegador, Cloudflare Workers, Deno, Bun. Não requer chave de API.
Instalação
npm install @openvancamp/sdk
# or: pnpm add @openvancamp/sdk
Início rápido (TypeScript / ESM)
import { OpenVan } from "@openvancamp/sdk";
const ov = new OpenVan();
// Cheapest diesel in Europe (top 5, EUR-normalized)
const top5 = await ov.fuel.cheapest("diesel", 5);
top5.forEach(c => console.log(c.country_name, c.prices.diesel, c.currency));
// Is Portugal cheaper than Germany for van living?
const comp = await ov.basket.compare("DE", "PT");
console.log(`Portugal is ${Math.abs(comp.diff_percent)}% cheaper`);
// Vanlife weather suitability — top 10 countries right now
const weather = await ov.weather.top({ limit: 10 });
Atribuição
Ao usar nossos dados, inclua uma atribuição visível. Aqui está um snippet pronto para usar:
Data source: <a href="https://openvan.camp/">OpenVan.camp</a> (CC BY 4.0)
Identifique seu app — adicione ?source=yoursite.com
Passe source como parâmetro de consulta com seu domínio ou nome do app. Sem registro — ajuda-nos a entender como os dados são usados e a reconhecer projetos ativos. O valor é retornado em cada resposta em _attribution.your_source.
curl "https://openvan.camp/api/fuel/prices?source=myapp.com"
# Response includes:
# "_attribution": {
# "data_source": "openvan.camp",
# "license": "CC BY 4.0",
# "attribution_url": "https://openvan.camp/",
# "attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)",
# "your_source": "myapp.com"
# }