OpenVan Fuel Prices API
Free global fuel price API with no key: petrol, diesel, LPG and CNG prices for over 120 countries with local currency, weekly change and named sources. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the OpenVan Fuel Prices API?
OpenVan publishes a free, key-free API of fuel prices for more than 120 countries. Each country record gives petrol, diesel, LPG, CNG and other fuel prices in the local currency and unit, the change since the previous reading, when it was fetched and which sources it came from.
Comparing fuel prices between countries is normally a research task, because every national source publishes differently and in its own currency and unit. This API collapses that into one document: a single request returns every covered country keyed by ISO code, with prices normalised into a consistent structure while keeping the local currency and unit intact rather than converting them.
The provenance is unusually well handled for a free service. Each country carries a `sources` array naming exactly where the figure came from — a national regulator, a crowdsourced median, an industry aggregator — plus `sources_count` and `fetched_at`, so you can judge reliability country by country rather than trusting a single opaque number. Null values are honest: they mean that fuel is not tracked there, not that it costs nothing. Watch the `unit` field, since a handful of countries report per gallon rather than per litre.
Quick facts
- Base URL
https://openvan.camp/api- Authentication
- No API key or account for the public endpoints.
- Rate limit
- 120 requests per minute, reported in `X-RateLimit-Limit` and `X-RateLimit-Remaining`.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the OpenVan Fuel Prices API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch current fuel prices for every covered country
GET https://openvan.camp/api/fuel/prices
curl 'https://openvan.camp/api/fuel/prices'const res = await fetch("https://openvan.camp/api/fuel/prices");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://openvan.camp/api/fuel/prices", timeout=20)
res.raise_for_status()
print(res.json()){
"success": true,
"data": {
"AD": {
"country_code": "AD",
"country_name": "Andorra",
"region": "europe",
"currency": "EUR",
"local_currency": "EUR",
"unit": "liter",
"prices": {
"gasoline_regular": null,
"gasoline": 1.5071,
"gasoline_premium": 1.5676,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 1.6262,
"diesel_premium": 1.6574,
"lpg": null,
"cng": null,
"e85": null,
"kerosene": null,
"premium": 1.5676
},
"price_changes": {
"gasoline_regular": null,
"gasoline": 0.0067,
"gasoline_premium": 0.0069,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 0.0204,
"diesel_premium": 0.0214,
"lpg": null,
"cng": null,
"e85": null,
"kerosene": null,
"premium": null
},
"fetched_at": "2026-08-15T12:31:20+03:00",
"sources": [
"sig.govern.ad (Andorra)",
"OpenVan Stations (median)",
"Cargopedia.net"
],
"sources_count": 2,
"is_excluded": false
},
"AE": {
"country_code": "AE",
"country_name": "UAE",
"region": "middle_east",
"currency": "AED",
"local_currency": "AED",
"unit": "liter",
"prices": {
"gasoline_regular": 3.41,
"gasoline": 3.49,
"gasoline_premium": null,
"gasoline_super": 3.6,
"diesel_regular": null,
"diesel": 3.8,
"diesel_premium": null,
"lpg"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(fuel prices) | path | Optional | `/fuel/prices` returns every country in one document. prices |
(vanbasket) | path | Optional | `/vanbasket/countries/{code}` returns a cost-of-living index for a country. PT |
(other endpoints) | path | Optional | The same host publishes food cost indices and vanlife weather scores. |
Response fields
successboolean- Request status flag, separate from the HTTP status code.
dataobject- Countries keyed by ISO 3166-1 alpha-2 code — AD, AE, AF and so on.
country_code / country_name / regionstring- Country identity and a coarse region grouping such as `europe` or `middle_east`.
currency / local_currencystring- Currency the prices are quoted in. Prices are not converted to a common currency.
unitstring- `liter` or `gallon`. Check it before comparing countries — a few report per gallon.
pricesobject- Per-fuel prices: `gasoline`, `gasoline_premium`, `diesel`, `diesel_premium`, `lpg`, `cng`, `e85`, `kerosene`. Null means not tracked.
price_changesobject- Change since the previous reading, in the same currency and unit. Positive means a rise.
fetched_atstring- When this country's figure was collected. It varies by country, sometimes by several days.
sourcesarray- Named sources the figure came from — a regulator, a crowdsourced median, an aggregator.
sources_countinteger- How many sources agreed on the figure. A useful confidence proxy.
is_excludedboolean- Marks countries excluded from comparative indices, typically because of hyperinflation or price controls.
What you can build with the OpenVan Fuel Prices API
- Compare fuel costs across countries for a road trip budget
- Estimate journey cost for a cross-border route
- Track weekly fuel price movements by region
- Show local fuel prices in a travel or vanlife app
- Flag countries where a fuel type is unavailable
Common errors and how to fix them
A price is null
That fuel is not tracked in that country.
Fix: Never coerce null to zero. A zero price makes a country look free and corrupts any comparison or average.
A country looks absurdly cheap or expensive
Prices stay in local currency and the unit can be gallons.
Fix: Read `currency` and `unit` before comparing. Convert both sides to a common basis, and check `is_excluded` for countries with distorted pricing.
fetched_at differs between countries
Each source is collected on its own schedule.
Fix: Show the age per country rather than a single global timestamp. Some figures are days old when others are hours old.
429 Too Many Requests
The 120-per-minute limit is exhausted.
Fix: One call returns every country, so there is rarely a reason to make more than a handful. Cache the document and read from it.
OpenVan Fuel Prices API — frequently asked questions
Is the OpenVan fuel price API free?
Yes, the public endpoints need no key or account, at 120 requests per minute. A single call returns every covered country, so the limit is generous in practice.
How many countries are covered?
More than 120, keyed by ISO alpha-2 code. Coverage of individual fuels varies — LPG, CNG and E85 are tracked in far fewer places than petrol and diesel.
Are prices converted to a common currency?
No. Each country's prices stay in its local currency and its own unit, which is more honest than converting at an unstated exchange rate. Convert yourself if you need a like-for-like comparison, and check the `unit` field first.
How reliable are the figures?
It varies by country and the API tells you: each record names its sources, counts how many agreed, and timestamps the collection. A figure from a national regulator with a recent `fetched_at` is far stronger than a single crowdsourced median.
Tools that pair with this API
Fuel Cost Calculator
Estimate the fuel cost and amount of fuel for any trip using distance, efficiency and fuel price. Supports miles/km and MPG or L/100km. Free and private.
Fuel Economy Converter
Convert MPG US, MPG imperial, L/100 km, km/L and miles per litre in any direction, then cost a journey and see the real saving between two figures.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
OpenVan Fuel Prices is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.