VanLife
OpenVan.campβ Le monde des camping-cars — ici

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.

Licence CC BY 4.0 — Vous êtes libre d'utiliser, partager et adapter ces données dans tout format, à condition de créditer OpenVan.camp. creativecommons.org →
For AI Agents & LLM Tools
  • No API key. Call any endpoint directly — no registration, no auth header.
  • CORS enabled. Endpoints can be called from the browser directly.
  • Response format: always { "success": true, "data": {...} }
  • Caching: fuel prices TTL 6h · currency rates TTL 25h · please poll no faster than every 10 min
  • Full OpenAPI 3.0 spec: /docs.openapi · GitHub examples
  • Attribution: add ?source=your-app.com to identify your integration — no auth required, just good practice.

Recommended prompting pattern: "Get current fuel prices for [country] in [currency] using the OpenVan.camp API at https://openvan.camp/api/fuel/prices"

Points de terminaison disponibles

GET /api/fuel/prices 117 pays

Prix actuels du carburant (essence, diesel, GPL) pour 117 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 : 27 avril 2026.

curl https://openvan.camp/api/fuel/prices

Example response:

{
  "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 }
}
GET /api/currency/rates 150+ currencies

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

Example response (EUR-based, all rates relative to 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"
}
GET /api/vanbasket/countries 90+ countries

VanBasket Food Price Index — how expensive food is relative to world average (World = 100). Based on World Bank ICP 2021, adjusted with 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
GET /api/events vanlife events

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"
locale — one of en ru de fr es pt tr. Default: en. Unknown locale silently falls back to en. articles fallback: if no articles match the requested locale, all source articles are returned.
Paramètres : locale status type country search page limit Documentation complète →
GET /api/stories 7 languages

Vanlife news stories aggregated from 200+ publishers, translated into 7 languages. Each story includes sources — original publisher articles with direct links, source names, publication dates, and language codes.

# 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"

Example response for /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://..."
    }
  ]
}
locale — one of en ru de fr es pt tr. Default: en. Affects title, summary, and category.name. sources[].language is always the original publisher language, independent of locale.
Params: locale category country search page limit Full docs

Démarrage rapide

JavaScript — cheapest diesel in 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 — convert to USD using currency rates

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 — countries with LPG

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")

More examples (bash, pandas, widget): GitHub →

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)

Identify your app — add ?source=yoursite.com

Pass source query parameter with your domain or app name. No registration needed — it helps us understand how data is being used and acknowledge active projects. The value is echoed back in every response under _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"
# }

Installer OpenVan.camp

Accès rapide et lecture hors ligne.

Installer sur iOS

  1. 1 Appuyez sur Partager dans Safari.
  2. 2 Choisissez "Sur l'écran d'accueil".
  3. 3 Confirmez avec Ajouter.

Déjà installé

L'application est déjà installée sur cet appareil.

Installer via le menu

Utilisez le menu du navigateur pour installer.