OpenVan.camp Public API
Open data for fuel prices, currency rates and vanlife events. Free to use in your apps, bots, and articles under CC BY 4.0.
Available Endpoints
/api/fuel/prices
72 countries
Current retail fuel prices (gasoline, diesel, LPG) for 72 countries. Updated weekly from GlobalPetrolPrices and regional government sources. Cached 6 hours.
curl https://openvan.camp/api/fuel/prices
Show example response
{
"success": true,
"data": {
"DE": {
"country_code": "DE",
"country_name": "Germany",
"region": "europe",
"currency": "EUR",
"prices": { "gasoline": 1.79, "diesel": 1.65, "lpg": 0.82 },
"fetched_at": "2026-03-15T09:31:25+03:00",
"source": "GlobalPetrolPrices.com"
}
},
"meta": { "total_countries": 72, "updated_at": "2026-03-15 09:33:33", "cache_ttl_hours": 6 }
}
/api/currency/rates
150+ currencies
Exchange rates for 150+ currencies relative to EUR. Fetched from multiple open-source APIs with automatic fallback. Cached 1 hour.
curl https://openvan.camp/api/currency/rates
Show example response
{
"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-15T09:00:00+00:00"
}
/api/events
vanlife events
Paginated list of vanlife events — exhibitions, festivals, meetups, road trips. Filter by status, type, country. Localized names in 7 languages.
# Upcoming events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming"
# Search by name
curl "https://openvan.camp/api/events?search=Nauticampo"
# Event details
curl "https://openvan.camp/api/event/nauticampo-2026"
Quick Start
Python
import requests
resp = requests.get("https://openvan.camp/api/fuel/prices")
data = resp.json()
for code, info in data["data"].items():
prices = info["prices"]
print(f"{info['country_name']}: diesel={prices['diesel']} {info['currency']}")
JavaScript / Node.js
const res = await fetch("https://openvan.camp/api/fuel/prices");
const { data } = await res.json();
const europe = Object.values(data).filter(c => c.region === "europe");
const sorted = europe.sort((a, b) => a.prices.diesel - b.prices.diesel);
console.log("Cheapest:", sorted[0].country_name, sorted[0].prices.diesel);
Attribution
When using our data, please include a visible attribution. Here's a ready-to-use snippet:
Data source: <a href="https://openvan.camp/en/tools/fuel-prices">OpenVan.camp</a> (CC BY 4.0)