BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://openvan.camp/api/fuel/prices'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://openvan.camp/api/fuel/prices", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
(fuel prices)pathOptional`/fuel/prices` returns every country in one document. prices
(vanbasket)pathOptional`/vanbasket/countries/{code}` returns a cost-of-living index for a country. PT
(other endpoints)pathOptionalThe 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

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.