OpenVan.camp Public API

Offene Daten für Reisen mit dem Auto: Kraftstoffpreise, Maut, Visa, Kennzeichen, Feiertage, Reisegefahren, Steckdosen, Zoll, Wechselkurse, Events und News. Ohne API-Schlüssel und Registrierung — in Apps, Bots und Artikeln unter CC BY 4.0.

Kein API-Schlüssel

Rufe jeden Endpunkt direkt auf — keine Registrierung, kein Auth-Header

100% kostenlos

171 Länder, wöchentliche Updates, CC BY 4.0 Lizenz

CORS aktiviert

Funktioniert direkt im Browser, kein serverseitiger Proxy nötig

Mit OpenVan gebaut

Vanlife-Apps, Spritpreis-Tracker, Routenplaner und EV-Tools aus einem Dutzend Ländern laufen bereits auf unseren offenen Daten.

211
Apps & Websites
7 200+
API-Anfragen / Monat
4
KI-Engines lesen die Daten
6
offene Datensätze

Wer es bereits nutzt

Eine handverlesene Auswahl — Spritpreis-Apps, Routenplaner, EV- und Flotten-Dashboards.

Von KI-Suchmaschinen gelesen
ChatGPT Perplexity Claude Gemini

Wir sehen ChatGPT, Perplexity, Claude und Gemini OpenVan-Daten abrufen — auch die Daten deiner Integration können in ihren Antworten auftauchen.

Nutzt du unsere API?

Füge ?source=deine-domain zu deinen Aufrufen hinzu — und du erscheinst in dieser Showcase.

CC BY 4.0-Lizenz — Sie können diese Daten in jedem Medium oder Format frei nutzen, weitergeben und anpassen, solange Sie OpenVan.camp als Quelle angeben. creativecommons.org →
Für KI-Agenten & LLM-Tools
  • Kein API-Schlüssel. Rufe jeden Endpunkt direkt auf — keine Registrierung, kein Auth-Header.
  • CORS aktiviert. Endpunkte können direkt im Browser aufgerufen werden.
  • Antwortformat: immer { "success": true, "data": {...} }
  • Caching: Kraftstoffpreise TTL 6 Std. · Wechselkurse TTL 25 Std. · bitte nicht häufiger als alle 10 Min. abfragen
  • Vollständige OpenAPI-3.0-Spezifikation: /docs.openapi · GitHub-Beispiele
  • Attribution: füge ?source=your-app.com hinzu, um deine Integration zu kennzeichnen — keine Authentifizierung nötig, einfach guter Stil.

Empfohlenes Prompt-Muster: "Hol die aktuellen Kraftstoffpreise für [Land] in [Währung] über die OpenVan.camp API unter https://openvan.camp/api/fuel/prices"

Verfügbare Endpunkte

GET /api/fuel/prices 171 Länder

Aktuelle Kraftstoffpreise für 171 Länder. Die Liste der Preisschlüssel kommt aus dem aktuellen API-Vertrag. Wöchentlich aus offiziellen Behördenquellen aktualisiert (EU Oil Bulletin, Statistics Norway, EIA, ANP, NRCan u. a.). Cache 6 Stunden. Kraftstoffdaten zuletzt aktualisiert: 03 Oktober 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

Beispielantwort:

{
    "success": true,
    "data": {
        "DE": {
            "country_code": "DE",
            "country_name": "Germany",
            "region": "europe",
            "currency": "EUR",
            "local_currency": "EUR",
            "unit": "liter",
            "units": {
                "diesel": "liter",
                "diesel_premium": "liter",
                "gasoline": "liter",
                "gasoline_premium": "liter",
                "lpg": "liter",
                "premium": "liter"
            },
            "currencies": {
                "diesel": "EUR",
                "diesel_premium": "EUR",
                "gasoline": "EUR",
                "gasoline_premium": "EUR",
                "lpg": "EUR",
                "premium": "EUR"
            },
            "prices": {
                "gasoline_regular": null,
                "gasoline": 2.2901,
                "gasoline_premium": 2.27,
                "gasoline_super": null,
                "diesel_regular": null,
                "diesel": 2.3838,
                "diesel_premium": 2.5662,
                "lpg": 1.1395,
                "cng": null,
                "e85": null,
                "kerosene": null,
                "premium": 2.27
            },
            "price_changes": {
                "gasoline_regular": null,
                "gasoline": -0.0897,
                "gasoline_premium": -0.143,
                "gasoline_super": null,
                "diesel_regular": null,
                "diesel": -0.1116,
                "diesel_premium": -0.196,
                "lpg": 0.0128,
                "cng": null,
                "e85": null,
                "kerosene": null,
                "premium": null
            },
            "fetched_at": "2026-10-03T14:01:37+03:00",
            "sources": [
                "EU Weekly Oil Bulletin",
                "clever-tanken.de (Premium Diesel)",
                "Tankerkoenig (tankerkoenig.de)",
                "Fuelo.net",
                "Cargopedia.net",
                "BenzinpreisAktuell.de"
            ],
            "sources_count": 4,
            "is_excluded": false
        }
    },
    "meta": {
        "total_countries": 171,
        "updated_at": "2026-10-03 14:01:37",
        "cache_ttl_hours": 6
    }
}
GET /api/currency/rates 150+ Währungen

Wechselkurse für 150+ Währungen relativ zu EUR. Von mehreren Open-Source-APIs mit automatischem Fallback. Cache 1 Stunde.

curl https://openvan.camp/api/currency/rates

Beispielantwort (EUR-basiert, alle Kurse relativ zu 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+ Länder

VanBasket Food Price Index — wie teuer Lebensmittel im Vergleich zum Weltdurchschnitt sind (Welt = 100). Basierend auf World Bank ICP 2021, angepasst mit 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/visa/check 39.601 Paare

Visa- und Grenzregeln: wie lange man bleiben darf für jedes Paar aus Pass und Zielland, wie die Tage gezählt werden (pro Einreise oder im gleitenden Zeitraum), ob eine Visa-Run den Zähler zurücksetzt — dazu Regeln zur vorübergehenden Fahrzeugeinfuhr. Jede Antwort nennt Verlässlichkeit, Quelle und Datenebene.

# 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"
confidence: low bedeutet: die Anzahl der Tage stimmt, die Zählweise ist eine Annahme — an der Grenze prüfen. Referenzdaten, keine Rechtsberatung.
Parameter: passport destination weight plate mode locale limit Vollständige Dokumentation
GET /api/plates Kennzeichen

Kfz-Kennzeichen der Welt: Format, Regionalcodes und ein fertiges Bild des Kennzeichens. SVG/PNG zeichnet dieselbe Engine wie auf der Website — die Kennzeichenschrift ist als Konturen enthalten, nichts zu installieren: einfach per <img src> einbinden. Dazu Prüfung mit Buchstaben-Normalisierung, Zufallskennzeichen und eine Browser-Engine zum eigenen Zeichnen.

А123ВС 77
# Ready plate image — put it into <img src> (PNG: plate.png?width=800)
curl "https://openvan.camp/api/plates/ru/plate.svg?number=A123BC®ion=77"

# Any text in the plate layout (e.g. a name)
curl "https://openvan.camp/api/plates/ru/plate.svg?number=ALEX®ion=77&custom=1"

# Countries, then one country: format, regions, codes, browser engine
curl https://openvan.camp/api/plates
curl "https://openvan.camp/api/plates/ru?locale=en"

# Validate a number and resolve its region; random plate
curl "https://openvan.camp/api/plates/ru/validate?number=A123BC®ion=799"
curl https://openvan.camp/api/plates/ru/random
Parameter: number region custom width locale Kennzeichen-Generator auf der Website Vollständige Dokumentation
GET /api/tolls Routenkosten

Mautstraßen nach Ländern — Kilometertarife für Pkw, Wohnmobil bis 3,5 t und schwerere Fahrzeuge, Vignetten, mautpflichtige Brücken und Tunnel, jeweils mit Prüfdatum und Quelle — und die Kosten einer ganzen Route aus Ortsnamen: Maut als Spanne in Euro und Kraftstoff zu den Preisen jedes Landes unterwegs.

# Tolls for a route of 2–10 place names: car | van (up to 3.5 t, default) | heavy
curl "https://openvan.camp/api/tolls/route?waypoints=Munich|Venice&vehicle_class=van"

# Toll reference: all countries, then one country with vignettes, bridges and tunnels
curl https://openvan.camp/api/tolls/countries
curl https://openvan.camp/api/tolls/countries/FR

# Fuel cost for the same kind of route, at the prices of every country on the way
curl -X POST https://openvan.camp/api/route-cost \
  -H "Content-Type: application/json" \
  -d '{"waypoints":["Berlin","Prague"],"cons":10,"fuel":"diesel"}'
partial: true bedeutet, dass nicht alle Gebühren enthalten sind: Für Länder in unknown_countries gibt es keine Daten — kostenlos sind sie deshalb nicht.
Parameter: waypoints vehicle_class cons tank fuel currency locale So sieht es im Roadbook aus Vollständige Dokumentation
POST /api/roadbook/from-places Ganze Reise

Das OpenVan-Roadbook aus 2–10 Ortsnamen — derselbe Plan wie im Roadbook-Assistenten: Fahrtage und Übernachtungen, Budget für Kraftstoff, Maut, Vignetten und Fähren und für jedes Land unterwegs die Einreise- und Fahrzeugregeln für die angegebenen Pässe und Kennzeichen, Feiertage, Sicherheit und Strom. Die Antwort ist eine teilbare Roadbook-Seite; gleiche Anfragen liefern dasselbe Roadbook.

# Roadbook for 2–10 place names; inputs are optional
curl -X POST https://openvan.camp/api/roadbook/from-places \
  -H "Content-Type: application/json" \
  -d '{"places":["Munich","Venice"],"locale":"en","inputs":{"travelers":["DE"],"cons":10,"fuel":"diesel"}}'

# Poll until "ready", then open the returned url
curl https://openvan.camp/api/roadbook/wqhk8/status
Die Route wird im Hintergrund berechnet: status abfragen, bis ready (lange Routen bis zu einer Minute), dann url öffnen. 10 Roadbooks pro Minute und IP.
Parameter: places locale name travelers plates weight fuel cons date currency So sieht es im Roadbook aus Vollständige Dokumentation
GET /api/holidays/countries/{code} Feiertage

Gesetzliche Feiertage, Schulferien (oft regional, mit ISO-3166-2-Codes) und offizielle Spitzenverkehrstage für einen Zeitraum von bis zu 400 Tagen — damit Sie wissen, wann Straßen, Campingplätze und Fähren voll sind.

# School holidays in Germany in December (kind = public | school | traffic)
curl "https://openvan.camp/api/holidays/countries/DE?from=2026-12-01&to=2026-12-31&kind=school"

# Countries and the kinds of data each has
curl https://openvan.camp/api/holidays/countries
Gibt es für ein Land keine Daten, liefert die API einen Fehler — das heißt „wir wissen es nicht“, nicht „keine Feiertage“ oder „nichts verboten“.
GET /api/hazards/countries/{code} Gefahren

Die aktuelle Lage in einem Land: Reisehinweisstufe des britischen Außenministeriums (FCDO) und laufende Naturkatastrophen laut GDACS mit Warnstufe, dazu Satelliten-Brandmeldungen von NASA FIRMS der letzten 48 Stunden in einem Gebiet. Keine Vorhersage.

# FCDO advice level + current GDACS disasters
curl https://openvan.camp/api/hazards/countries/TR

# Active fires of the last 48 h, bbox = west,south,east,north (up to 10°×10°)
curl "https://openvan.camp/api/hazards/fires?bbox=29,36,33,38"
GET /api/electricity/countries/{code} Steckdosen

Steckertypen (IEC A–N), Netzspannung und Frequenz für jedes Land mit Quelle des Werts, dazu der Stromanschluss auf europäischen Campingplätzen (CEE17).

curl https://openvan.camp/api/electricity/countries/GB
curl https://openvan.camp/api/electricity/countries
GET /api/customs/countries/{code} Zoll

Was Sie mit dem Auto einführen dürfen: Lebensmittelverbote, Bargeldanmeldung, Freimengen für Alkohol und Tabak, zollfreier Warenwert, Kraftstoff im Kanister. Optional mit dem Herkunftsland — innerhalb der EU gibt es keinen Zoll. Jede Regel enthält ein wörtliches Zitat der amtlichen Quelle und einen Link.

# Entering Norway from Germany: cash, alcohol, tobacco, food
curl "https://openvan.camp/api/customs/countries/NO?from=DE"

# Jurisdictions and blocs (EU, EAEU)
curl https://openvan.camp/api/customs/countries
Gibt es für ein Land keine Daten, liefert die API einen Fehler — das heißt „wir wissen es nicht“, nicht „keine Feiertage“ oder „nichts verboten“.
GET /api/events Vanlife-Events

Seitenweise Vanlife-Events — Ausstellungen, Festivals, Treffen, Roadtrips. Filter nach Status, Typ, Land. Lokalisierte Namen in 7 Sprachen.

# 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"
locale — eine von en ru de fr es pt tr. Standard: en. Unbekannte Locale wird stillschweigend ersetzt durch en. Artikel-Fallback: wenn keine Artikel zur angeforderten Locale passen, werden alle Quellartikel zurückgegeben.
Parameter: locale status type country search page limit Vollständige Docs →
GET /api/stories 7 Sprachen

Vanlife-Nachrichten, aggregiert aus 200+ Publishern und in 7 Sprachen übersetzt. Jede Story enthält sources — Originalartikel der Publisher mit Direktlinks, Quellennamen, Veröffentlichungsdaten und Sprachcodes.

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

Beispielantwort für /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://..."
    }
  ]
}
locale — eine von en ru de fr es pt tr. Standard: en. Betrifft title, summary, und category.name. sources[].language ist immer die Originalsprache des Publishers, unabhängig von der Locale.
Parameter: locale category country search page limit Vollständige Docs →

Schnellstart

JavaScript — günstigster Diesel in 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 — Umrechnung in USD mit Wechselkursen

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
// unit: "liter" | "gallon" (US, 3.78541 L) | "imperial_gallon" (4.54609 L)
const LITERS_PER_UNIT = { liter: 1, gallon: 3.78541, imperial_gallon: 4.54609 };
function toUSD(price, currency, unit) {
  const usd = (price / rates[currency]) * rates["USD"];
  return usd / (LITERS_PER_UNIT[unit] || 1);
}

const de = data["DE"];
console.log(`Germany diesel: $${toUSD(de.prices.diesel, de.currency, de.unit).toFixed(3)}/L`);

Python — Länder mit Autogas (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")

Weitere Beispiele (bash, pandas, Widget): GitHub →

JavaScript / TypeScript SDK

Offizielles typisiertes SDK — ohne Konfiguration, läuft in Node.js ≥ 18, Browser, Cloudflare Workers, Deno, Bun. Kein API-Schlüssel nötig.

Installation

npm install @openvancamp/sdk
# or: pnpm add @openvancamp/sdk

Schnellstart (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 });

// Tolls and visa rules for a road trip
const tolls = await ov.tolls.route(["Munich", "Venice"], "van");
const visa = await ov.visa.check("RU", "TR");

// Holidays, hazards, plugs and customs for the next country
const traffic = await ov.holidays.country("FR", { kind: "traffic" });
const hazards = await ov.hazards.country("TR");
const plugs = await ov.electricity.country("GB");
const customs = await ov.customs.country("NO", { from: "DE" });

Quellenangabe

Die Quellenangabe ist nach der Lizenz CC BY 4.0 Pflicht: Wo immer Sie unsere Daten zeigen (Website, App, Bot, Artikel), setzen Sie daneben einen sichtbaren Link zu OpenVan.camp. Wenn ein KI-Agent Ihren Code schreibt, bitten Sie ihn, diesen Link beizubehalten. Fertiger Codeausschnitt:

Data: <a href="https://openvan.camp/">OpenVan.camp</a> (CC BY 4.0)

Kennzeichne deine App mit ?source=yoursite.com

Übergib source als Query-Parameter mit deiner Domain oder App-Namen. Keine Registrierung nötig — es hilft uns zu verstehen, wie die Daten genutzt werden, und aktive Projekte zu würdigen. Der Wert wird in jeder Antwort unter _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",
#   "required": true,
#   "attribution_url": "https://openvan.camp/",
#   "attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)",
#   "instructions": "Attribution is required by the CC BY 4.0 license. ...",
#   "your_source": "myapp.com"
# }
News oder Event vorschlagen

An Moderation gesendet

Wir veröffentlichen nur Auszüge. Mit dem Senden stimmst Du den AGB zu.

→ Zum Glossar