OpenVan.camp Public API
Données ouvertes sur les prix du carburant, les taux de change et les événements vanlife. Utilisation gratuite dans vos apps, bots et articles sous CC BY 4.0.
Sans clé API
Appelez n'importe quel endpoint directement — sans inscription ni en-tête d'authentification
100% gratuit
142 pays, mises à jour hebdomadaires, licence CC BY 4.0
CORS activé
Fonctionne directement dans le navigateur, aucun proxy serveur nécessaire
Conçu avec OpenVan
Des applis vanlife, suivis de prix des carburants, planificateurs d'itinéraires et outils EV d'une dizaine de pays fonctionnent déjà sur nos données ouvertes.
Qui l'utilise déjà
Une sélection — applis carburant, planificateurs d'itinéraires, tableaux de bord EV et flottes.
Nous voyons ChatGPT, Perplexity, Claude et Gemini récupérer les données OpenVan — les données de votre intégration peuvent aussi apparaître dans leurs réponses.
Vous utilisez notre API ?
Ajoutez ?source=votre-domaine à vos appels — et vous apparaîtrez dans cette vitrine.
- Sans clé API. Appelez n'importe quel endpoint directement — sans inscription ni en-tête d'authentification.
- CORS activé. Les endpoints peuvent être appelés directement depuis le navigateur.
- Format de réponse : toujours
{ "success": true, "data": {...} } - Cache : prix des carburants TTL 6 h · taux de change TTL 25 h · n'interrogez pas plus d'une fois toutes les 10 min
- Spécification OpenAPI 3.0 complète : /docs.openapi · exemples GitHub
- Attribution : ajoutez
?source=your-app.compour identifier votre intégration — aucune authentification requise, juste une bonne pratique.
Modèle de prompt recommandé : "Obtiens les prix actuels des carburants pour [pays] en [devise] via l'API OpenVan.camp à l'adresse https://openvan.camp/api/fuel/prices"
Points de terminaison disponibles
/api/fuel/prices
142 pays
Prix actuels du carburant pour 142 pays. La liste des clés de prix est générée depuis le contrat API actuel. Mis à jour chaque semaine depuis des sources gouvernementales officielles (EU Oil Bulletin, Statistics Norway, EIA, ANP, NRCan et autres). Cache 6 heures. Données carburant mises à jour le : 25 juillet 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
Exemple de réponse :
{
"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+ devises
Taux de change pour 150+ devises par rapport à l'EUR. Obtenus depuis plusieurs APIs open source avec fallback automatique. Cache 1 heure.
curl https://openvan.camp/api/currency/rates
Exemple de réponse (basé sur EUR, tous les taux relatifs à 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+ pays
VanBasket Food Price Index — à quel point la nourriture est chère par rapport à la moyenne mondiale (Monde = 100). Basé sur World Bank ICP 2021, ajusté avec l'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 paires
Règles de visa et de frontière : combien de temps vous pouvez rester pour chaque paire passeport × destination, comment les jours sont comptés (par entrée ou sur une fenêtre glissante), si un visa run remet le compteur à zéro — et les règles d’importation temporaire de véhicule. Chaque réponse indique sa fiabilité, sa source et la couche dont elle provient.
# 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
événements vanlife
Liste paginée d'événements vanlife — expositions, festivals, rencontres, road trips. Filtrez par statut, type, pays. Noms localisés en 7 langues.
# 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. Par défaut : en. Une locale inconnue est silencieusement remplacée par en.
repli articles : si aucun article ne correspond à la locale demandée, tous les articles sources sont renvoyés.
/api/stories
7 langues
Actualités vanlife agrégées depuis 200+ éditeurs et traduites en 7 langues. Chaque story inclut sources — les articles originaux des éditeurs avec liens directs, noms des sources, dates de publication et codes de langue.
# 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"
Exemple de réponse pour /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. Par défaut : en. Affecte title, summary, et category.name.
sources[].language est toujours la langue d'origine de l'éditeur, indépendamment de la locale.
Démarrage rapide
JavaScript — le diesel le moins cher d'Europe
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 — conversion en USD avec les taux de change
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 — pays proposant du GPL
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")
Plus d'exemples (bash, pandas, widget) : GitHub →
SDK JavaScript / TypeScript
SDK typé officiel — sans configuration, fonctionne sous Node.js ≥ 18, navigateur, Cloudflare Workers, Deno, Bun. Aucune clé API requise.
Installation
npm install @openvancamp/sdk
# or: pnpm add @openvancamp/sdk
Démarrage rapide (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 });
Attribution
Lors de l'utilisation de nos données, merci d'inclure une attribution visible. Voici un snippet prêt à l'emploi :
Data source: <a href="https://openvan.camp/">OpenVan.camp</a> (CC BY 4.0)
Identifiez votre app — ajoutez ?source=yoursite.com
Transmettez source comme paramètre de requête avec votre domaine ou nom d'app. Aucune inscription nécessaire — cela nous aide à comprendre comment les données sont utilisées et à valoriser les projets actifs. La valeur est renvoyée dans chaque réponse sous _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"
# }