UK Fuel Prices API: Forecourt Prices and Every Change
Pricing
Pay per event
UK Fuel Prices API: Forecourt Prices and Every Change
Current pump prices for over 8,000 UK forecourts and a feed of every price change, with the forecourt's own timestamp. Plus UK weekly prices back to 2003 and Advisory Fuel Rates against real pump cost per mile.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Arjun Shankar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Current pump prices for over 8,000 UK forecourts, a feed of every price change as it happens, and the national weekly series back to 2003.
Pull a full snapshot of forecourt prices by grade, or schedule the change feed and get only what moved since your last run: forecourt, grade, old price, new price and the forecourt's own timestamp. Fleet and finance teams also get HMRC's Advisory Fuel Rates set against real pump cost per mile.
Run it with the default input: today's UK fuel price summary.
Who uses it
- App and price-comparison developers get bulk station prices with change events, instead of re-downloading everything every few minutes.
- Fleet managers and expense teams see whether the official mileage rates cover what drivers pay at the pump.
- Analysts and economists track how Brent and duty feed through to UK pump prices since 2003.
- Journalists get a dated, sourced answer to "what did diesel cost last week".
Input
| Field | What it does |
|---|---|
mode | energy_context (default), changes, snapshot, weekly_prices, trend_report or fleet_afr |
grade | E10, E5, B7S, B7P, B10 or HVO |
since | Changes since a date. Empty means the last 24 hours |
sinceLastRun | true returns only changes newer than your last run. Best for schedules |
brand | Filter by brand, e.g. TESCO |
sort | Snapshot order: station id, price or most recently updated |
from, to, month | Date range for weekly_prices, month for trend_report |
mpg | Your fleet's MPG for fleet_afr. Empty uses the official figure |
maxItems | Caps the rows, and so the cost |
postcode_cheapest (cheapest near a postcode) and station_history are coming soon.
Output
Each change carries trading_name, brand_name, postcode, grade, change_type,
price_before_pence, price_after_pence, delta_pence, effective_at and observed_at.
Snapshot rows carry the forecourt's address, coordinates, amenities and a price per grade with
its own timestamp. Every row has a price_source and keeps a report_discrepancy_url for flagging
a wrong price.
A real change from 8 October 2026:
{"trading_name": "BARNES EXPRESS","brand_name": "TESCO","postcode": "SW13 9EW","grade": "E10","change_type": "changed","price_before_pence": 175.9,"price_after_pence": 174.9,"delta_pence": -1,"effective_at": "2026-10-08T14:49:19.000Z","observed_at": "2026-10-08T14:57:04.946Z"}
energy_context gives the latest UK weekly petrol and diesel prices with weekly and yearly
change, fuel duty, VAT, the Advisory Fuel Rates in force and Brent crude.
Pricing
Pay per result. See the Pricing tab for current rates; maxItems caps the rows and so the cost. A run that finds nothing charges nothing per item.
FAQ
How fresh are forecourt prices? Forecourts report changes under a statutory scheme, and each row keeps the forecourt's own timestamp. Change history starts on 8 October 2026.
What if forecourt reporting goes quiet? Prices are cross-checked every day against
independent retailer price lists, and more than nine in ten agree to the penny. If forecourt data
goes stale, stations those lists cover switch to the retailer's price, and price_source says
which you got.
Will a schedule charge me twice? Not with sinceLastRun: true. Each run returns only
changes you have not had.
Does it cover Northern Ireland? No. Great Britain only.
Contains public sector information licensed under the Open Government Licence v3.0. Brent crude
prices from public-domain U.S. government data. Every run carries the full attribution in an
attribution field. Runs record anonymous usage counts only, never your
inputs or results.