Data API · Europe

API pricing

Weekly national fuel prices back to 2005 and live, station-level prices from official national sources — as JSON, GeoJSON or CSV. Start free, upgrade when you need station detail.

29countries, weekly history
28,754weekly price points since 2005
21live markets
99,970stations tracked

Three plans

Prices exclude VAT. Monthly, cancel any time. Quotas are per calendar month and reset on the 1st; going over them slows you down, it does not cut you off mid-month.

Free

Research, journalism, side projects, and anyone testing before they buy.

€0/month
  • Weekly national history, 29 countries, 2005–today
  • Live country averages & min/max, 21 markets
  • Natural-language endpoint (JSON & CSV)
  • Toll and vignette dataset (546 records)
  • 1,000 requests / month
  • No station-level prices
  • Attribution: one visible link back to us
Start now — no key needed

Business

Fleets, fuel cards, logistics and navigation products that depend on the feed.

€149/month
  • Everything in Pro
  • Full station database export (99,970 stations)
  • Complete history export, all countries, one file
  • Redistribution inside your own product
  • 500,000 requests / month
  • 99.5% monthly uptime commitment
  • Named contact, one working day
  • Custom bundles and extra markets on request
Request access
Honest note. Card payment is not switched on yet. Free is genuinely live today — the endpoints in the documentation are open and need no key. Pro and Business are opened by hand: send the form below, we reply from hi@fuel-prices.eu with a key, an invoice and a start date. Nothing is charged before you agree to it.

What each plan includes

The same endpoints, different depth and volume.

swipe the table sideways for the Pro and Business columns →

FeatureFreeProBusiness
Price per month, excl. VAT€0€29€149
Weekly national history (2005–today)YesYesYes
Live country averages, min/maxYesYesYes
Natural-language endpointYesYesYes
Tolls & vignettes datasetYesYesYes
Station-level prices & radius searchYesYes
Brand breakdowns per marketYesYes
GeoJSON map layerYesYes
Daily CSV snapshotYesYes
Full station database exportYes
Full history export in one fileYes
Requests per month1,00050,000500,000
Burst limit60 / hour600 / hour3,000 / hour
Attribution link requiredYesNoNo
Redistribution in your productWithin your appYes
Uptime commitment99.5% / month
SupportBest effortEmail, 2 working daysNamed contact, 1 working day

Try it before you ask for anything

Every example below is a Free-tier call against the live service — copy, paste, run. Full parameter reference in the documentation.

curl

Today’s national averages and freshness stamps for every live market.

curl -s "https://www.fuel-prices.eu/live/api.php?action=summary" \
  | python3 -m json.tool | head -20

PHP

Five years of weekly Euro 95 and diesel prices for one country.

<?php
$url  = 'https://www.fuel-prices.eu/lang/api/country-history.php?cc=DE';
$data = json_decode(file_get_contents($url), true);

printf("%s: %d weekly points, latest %s -> %.3f EUR/L\n",
    $data['cc'],
    $data['count'],
    end($data['labels']),
    end($data['diesel'])
);

Python

Cheapest diesel within 10 km of a point (Pro tier — station level).

import requests

r = requests.get("https://www.fuel-prices.eu/live/api.php", params={
    "action": "stations", "country": "FR",
    "lat": 48.85, "lng": 2.35, "radius": 10, "limit": 20,
}, timeout=20)

for s in r.json()["data"]["stations"]:
    d = s["prices"].get("diesel")
    if d:
        print(f'{d["price"]:.3f}  {s["distance_km"]:>4} km  {s["name"]}')

JavaScript

Straight from the browser — the live endpoints send Access-Control-Allow-Origin: *, so no proxy is needed.

const r = await fetch('https://www.fuel-prices.eu/live/api.php?action=summary');
const { data } = await r.json();
const fr = data.countries.find(c => c.country_code === 'FR');

console.log(`France diesel ${fr.fuels.diesel.avg} EUR/L`,
            `across ${fr.fuels.diesel.stations} stations`,
            `(fetched ${fr.last_fetched} UTC)`);

Questions people actually ask

What licence do I get, and can I resell the data?

The weekly national series is derived from the European Commission Weekly Oil Bulletin and is published under CC BY 4.0 with attribution to fuel-prices.eu. You can use it commercially on any plan.

Live station prices are collected from official national sources (data.gouv.fr, MIMIT, MITECO, the UK Fuel Finder scheme, E-Control, ANPC and others). Free and Pro let you show them inside your own product; Business adds the right to redistribute them onward. Reselling the raw feed as a competing data product is not included on any plan — talk to us instead.

One thing we flag up front: opening hours for 6,637 stations are enriched from OpenStreetMap, so that field carries ODbL 1.0 share-alike obligations no matter which plan you are on. Prices and station identity are ours. We keep a per-record provenance flag on that field, so if ODbL does not fit your product, ask and we ship you the feed without the OpenStreetMap-derived hours.

How do I attribute on the Free plan?

A visible link on the page or screen showing the data: Fuel price data by fuel-prices.eu. In an app, a line in the data-sources or about screen is fine. No logo required, no approval needed. Pro and Business have no attribution requirement.

How fresh is the data?

The weekly series updates every Thursday afternoon, when the European Commission publishes the Oil Bulletin; latest point in the database right now is 2026-08-31.

Live markets refresh on their own cadence, between every 20 minutes and every few hours, set by how often each national source republishes. Every response carries a last_fetched stamp in UTC and action=stats shows the last fetch of every market, so you never have to guess how old a number is.

Who uses this?

Fleets and fuel cards — cost-per-kilometre models, budget forecasts, and picking refuelling stops on a route.

Navigation and travel apps — cheapest station along a route, cross-border price gaps for trips like Britain to France.

Newsrooms and analysts — twenty years of comparable weekly national prices, the series behind most “fuel is up X% this year” charts.

Energy and retail research — brand-level price positioning per market, from the same feed the retailers file with their regulator.

What happens when I hit the quota?

You get an HTTP 429 with a Retry-After header rather than a hard cut-off, and the monthly counter resets on the 1st. If you are consistently over, we would rather move you to the next plan than throttle you — write to us.

Which currency and unit are prices in?

EUR per litre, tax inclusive, everywhere — including markets that trade in their own currency. Local-currency figures are converted at the daily central-bank rate at read time, so a British or Romanian price is comparable with a French one in the same response. If you need the raw local figure instead, say so in your request and we will include it on Pro and Business.

Is there a trial, and how do I cancel?

The Free plan is the trial and it has no time limit. Pro and Business are monthly with no minimum term: tell us to stop and we stop at the end of the paid month. Because billing is still manual, there is no card on file to forget about.

Can I get a market you do not cover yet?

Often, yes. Where an official national source publishes station prices we can usually add the market in a few weeks. Germany, Poland, Belgium and Hungary come up most often. Put it in the use-case box below — the request queue is how we decide what to build next.

Request access

Two working days for a reply, from a person, with a real answer about whether we can cover what you need. No card, no automated sales sequence.