How Our Data Works

Where our fuel prices come from, how often we refresh them, and what the timestamps around the site actually mean.

Where the data comes from

Prices and station details are sourced from the UK Government's Fuel Finder scheme, under the Open Government Licence v3.0. Fuel retailers submit their own prices directly to that feed — we don't set or verify prices ourselves, we only fetch and display what retailers have reported.

Price history before 15 September 2026 was compiled by fuelcosts.co.uk from the same feed (dataset, CC BY 4.0), filtered for invalid prices.

What is the Fuel Finder scheme?

Fuel Finder is a UK government service that brings together live fuel prices and forecourt details. It makes those prices available to third-party apps and websites, so drivers can compare them.

Every UK forecourt that sells petrol or diesel to the public must be registered and report its prices. Since 2 February 2026, retailers have had to update a price within 30 minutes of changing it, and report changes to amenities and facilities within 3 days. Read the GOV.UK guidance for retailers.

Forecourt Prices is a free, independent fuel finder built on that data, and is not part of the government service. Search by postcode or town to see the cheapest petrol and diesel near you.

Our import schedule

We run three separate imports, each on its own schedule:

Prices
Every 15 min
Matches the Fuel Finder API's own recommended refresh rate for price data.
Station details
Hourly
Addresses, opening hours and amenities change rarely, so these refresh less often.
Full refresh
Daily
A complete combined re-fetch, including new stations, plus a CSV fallback if the API is unavailable.

Prices last imported: 2 Nov 2026, 03:17 UK time (8 minutes ago)

Station details last imported: 2 Nov 2026, 03:12 UK time (13 minutes ago)

Why you'll see different times in different places

The footer's "last import" time, and the "updated … ago" label under an individual price, are answering two different questions — so they won't always match. There are three distinct timestamps at play:

Our import time — shown in the footer

The last time our servers successfully pulled data from the Fuel Finder feed. This just tells you how fresh our own database is — it runs every 15 minutes for prices regardless of whether any individual price actually changed.

Price submitted at — shown on station pages, when available

The time the station itself reported that price to the Fuel Finder feed. This is set by the retailer's own till or pricing system, so it can be earlier than our import time — a price may have been live at the pump for a while before our next 15-minute pull picked it up.

Recorded at — fallback when a station doesn't supply a submission time

Not every retailer includes a submission timestamp. When one is missing, the displayed time falls back to when we first recorded that price — so there's still a timestamp shown, but since we can't confirm how fresh the retailer's price actually is, the freshness dot shows as Unknown rather than guessing.

In short: the footer tells you how current our whole database is, while a price's own timestamp tells you how current that specific price is. A station that hasn't changed its price in weeks will still show an old timestamp even though we've imported dozens of times since — that's expected, not stale data.

Freshness badges

Search results, station pages and nearby-station listings all carry a small coloured dot next to each price, based on when the station submitted that price — not on our import time:

Fresh — submitted within the last 24 hours
Ageing — submitted between a day and 30 days ago
Over a month — 30+ days since the station last submitted a change
Unknown — the station didn't supply a submission time

How we work out averages and the cheapest price

We want every figure on the site to reflect what forecourts are charging now, so our calculations use the most recent prices we have and leave out data that's too old to rely on.

Retailers only send a price to the Fuel Finder feed when it changes, so a price that's a few days old usually still holds. We use it, but once it's more than 3 days old we show its age alongside it rather than presenting it as today's price.

Averages (for the UK, each brand, each town and each region) and any claim that a station is the cheapest only count prices reported in the last 30 days. A station that hasn't reported for longer than that still appears in search results, station lists and on the map, with its price marked as old and how long ago it was reported (for example “Last reported 45 days ago”). When a list is sorted by price it comes after the stations with current prices. It doesn't count towards any average, and we never call it the cheapest.

We also leave obvious placeholder prices out of every average: anything more than 25% above or below the UK's middle (median) price for that fuel, which we work out for every fuel we list, HVO and B10 included. That way one bad entry can't skew an average. We still show these prices in search results, station lists and on the map, marked ‘check’, but when a list is sorted by price they come after the real prices, and we never call them the cheapest.

Brand averages leave out motorway services, meaning services on M-roads and A(M) roads such as the A1(M), because their prices run much higher than the same brand's other forecourts. Services on ordinary A-roads count like any other forecourt. A station at motorway services is compared with its brand's other motorway services instead.

The fuel economy we assume

Our worth-the-drive sums and yearly costs assume a petrol car does 44.6 miles to the gallon and a diesel car 48.4. These are the Department for Transport's 2026 appraisal values for an average car at about 30 mph, a typical average speed for local driving. Diesel's lead shrinks as speed rises, and at motorway speeds petrol is slightly ahead. They come from DfT's TAG data book on GOV.UK, table A 1.3.11.

Opening hours & bank holidays

Opening hours, including each station's bank holiday hours, come from the Fuel Finder feed. To know whether today counts as a bank holiday, we separately check the UK government's bank holidays list, refreshed every 24 hours, and match it to the right nation (England & Wales, Scotland, or Northern Ireland) using the station's postcode. If gov.uk is unreachable when we try to refresh, we keep using the last calendar we successfully fetched rather than showing no bank holidays at all. That's what lets a station's live status badge switch to its bank holiday hours automatically.

Food hygiene ratings

Station pages show food hygiene ratings from the Food Standards Agency, published under the Open Government Licence and re-imported weekly from the files each local council publishes. England, Wales and Northern Ireland score businesses from 0 to 5; Scotland uses Pass or Improvement Required instead. A rating reflects hygiene standards found at the last inspection, not the quality of the food.

We treat a registered food business as belonging to a forecourt only when it is within 150 metres of the station's coordinates (75 metres if it doesn't share the station's postcode) and is named after the station, its brand, or as a service or filling station. “Well-rated food nearby” lists cafes, sandwich shops, restaurants and supermarkets within half a mile that scored 4 or 5 (or a Pass in Scotland). The FSA doesn't publish opening times, so we leave out places whose names suggest they mainly trade in the evening, and never claim anywhere is open.

Roadworks

Roadworks on station pages come from the Department for Transport's Street Manager open data, published under the Open Government Licence. Every council and utility company in England records its street works there, and we receive each change within moments of it being made. It covers England only, so stations in Scotland, Wales and Northern Ireland don't show roadworks yet.

We only show works that restrict traffic — road and lane closures, temporary traffic lights, contraflows, stop/go boards and similar — that are under way or due to start in the next three days. Works on the station's own road count from up to 400 metres away; works on any other street only when they are within 250 metres. Most permits are for work on the pavement or verge and are left out. A permit tells us the works are there; it can't tell us how long the queue is, and works often start late or overrun, so treat it as a heads-up rather than a live traffic report.

Road network data

Motorway junctions, motorway and A-road services areas, and extra forecourt details (payment methods, AdBlue, LPG, HGV diesel, HVO and similar) come from OpenStreetMap, © OpenStreetMap contributors, available under the Open Database Licence. Because that licence is share-alike, this data is kept separately identifiable rather than mixed into our own station records. It is imported by hand from time to time rather than on a schedule, and corrected by hand where needed.