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
125+ 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
134 pays
Prix actuels du carburant (essence, diesel, GPL) pour 134 pays. 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 : 13 juin 2026.
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", // "gallon" for US and Ecuador
"prices": {
"gasoline": 2.13,
"diesel": 2.28,
"lpg": 1.11,
"e85": null,
"premium": null
},
"price_changes": { "gasoline": -0.02, "diesel": 0.01, "lpg": 0.0 },
"fetched_at": "2026-03-28T13:59:57+03:00",
"sources": ["Fuelo.net", "EU Weekly Oil Bulletin", "Cargopedia.net"],
"sources_count": 3,
"is_excluded": false // true for heavily subsidized countries
}
},
"meta": { "total_countries": 87, "updated_at": "2026-03-28 13:59:57", "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/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=Nauticampo&locale=ru"
# Event details + linked source articles
curl "https://openvan.camp/api/event/nauticampo-2026?locale=en"
curl "https://openvan.camp/api/event/nauticampo-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=camping&country=DE"
# Full story with all source articles
curl "https://openvan.camp/api/story/vanlife-festival-germany-2026?locale=en"
Exemple de réponse pour /api/story/{slug} :
{
"slug": "vanlife-festival-germany-2026",
"title": "VanLife Festival Germany 2026",
"summary": "The largest vanlife gathering in Germany returns this summer.",
"image_url": "https://...",
"category": { "slug": "events", "name": "Events" },
"countries": [{ "code": "de", "name": "Germany", "flag_emoji": "🇩🇪" }],
"first_published_at": "2026-04-01T10:00:00+00:00",
"last_updated_at": "2026-04-03T08:00:00+00:00",
"articles_count": 8,
"url": "https://openvan.camp/en/news/events/vanlife-festival-germany-2026",
"sources": [
{
"title": "Germany's biggest van life festival is back",
"original_url": "https://campermag.de/festival-2026",
"source_name": "CamperMag.de",
"published_at": "2026-04-01T10:00:00+00: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"
# }