The UK filling station list, cleaned
The 8,146 filling stations in the government's Fuel Finder feed today, keyed on the feed's own node_id, with the brands, postcodes, nations and positions cleaned, and every arrival and departure since our collection began. This page says what the cleaning does and what it cannot fix, so you can decide what to trust before putting a station on a map.
- stations.csv (8,146 rows, 3.3 MB)
- stations-changes.csv (126 rows, 26 KB)
Column by column descriptions, prices and licence are on the open data page.
What the cleaning does
Brands
The feed carries 1,522 different brand strings. 627 of them are spellings, capitalisations or local names of a major brand (“Texaco East Sheen”, “Sainsbury's Local”) and are mapped to one of the 34 brands we recognise, 29 of which have stations today. A forecourt under a fuel brand and a dealer group is filed under the brand a driver sees. The 917 stations left without a major brand are independents, not errors. The raw string is kept in brand_raw.
Names and addresses
Names and address lines are recapitalised (“MILTON KEYNES” becomes “Milton Keynes”), nothing more. They are not checked against any address register.
Postcodes
Postcodes are reformatted with their space, whether or not the retailer typed it, then split into 2,421 districts (BA1) and 122 areas (BA). The split relies on the inward code always being a digit and two letters, so a postcode typed without a space still lands in the right district.
Nation
The feed's country field mixes ENGLAND, England, UK, E and blanks, so the nation comes from the postcode wherever the postcode settles it: BT for Northern Ireland, AB, DD, DG, EH, FK, G, HS, IV, KA, KW, KY, ML, PA, PH, TD, ZE for Scotland, CF, LD, LL, NP, SA for Wales. Border areas such as CH, SY and HR straddle England and Wales; there the declared field is used, and a station with no usable field is counted in England.
| Nation | Stations | Set by the postcode |
|---|---|---|
| England | 6,244 | 0% |
| Scotland | 820 | 100% |
| Northern Ireland | 592 | 100% |
| Wales | 490 | 89% |
Positions
A position is corrected only when the corrected point falls inside the UK and the reported one does not: latitude and longitude swapped, or the minus sign of the longitude lost. Each correction is flagged in coordinates_fix. Today no station needs it. No station is left outside the UK. Nothing else is moved: a forecourt placed at the wrong end of its street stays there.
Fuels
Each station declares the grades it sells, separately from the prices it reports. 8,145 stations declare at least one:
- Diesel (
B7_STANDARD): 8,047 stations - Unleaded (
E10): 7,928 stations - Super unleaded (
E5): 6,274 stations - Premium diesel (
B7_PREMIUM): 4,173 stations - B10 diesel (
B10): 63 stations - HVO (
HVO): 56 stations
A grade that is not declared proves nothing: retailers fill the list unevenly.
Opening hours
Hours are converted to the OpenStreetMap opening_hours syntax (“Mo-Fr 06:00-22:00; Sa-Su 07:00-22:00”, or “24/7”) for 7,688 stations, 3,228 of them open around the clock. The rest (458) leave at least one day as 00:00 to 00:00 without ticking “24 hours”, which means the field was never filled in, not that the station is shut. Rather than publish half a week, the column is left blank for them.
Arrivals and departures
A station arrives on the first day it reports a price and leaves after 7 days without one. Since 7 Sep 2026: 95 arrivals, 12 stations no longer reporting and 19 returns after a gap, which is why a departure is never called a closure unless the feed says so. They are listed in stations-changes.csv and on the new stations and no longer reporting pages.
What it cannot fix
- Town. The feed's town field is free text: 821 postcode districts carry more than one town name, and 251 stations have none. Use the postcode to group stations.
- County. Blank for 4,584 stations (56%), so it is not published.
- Positions. Only the obvious errors above are corrected. A point on the wrong side of a dual carriageway is still wrong.
- Services and phone numbers are as reported (7,937 stations list at least one service, 7,512 give a phone number).
Using it with OpenStreetMap
Mappers discussing the feed on the OpenStreetMap forum proposed tagging forecourts with ref:GB:fuel_finder, set to the node_id: every file here joins on that value. The list is a reference for finding missing, misplaced or closed forecourts to survey, not something to import as is. Prices change too often to belong in OpenStreetMap, and a grade missing from fuels is no reason to tag it as unavailable. The files carry the Open Government Licence v3.0 attribution of the source; whether that suits a given use in OpenStreetMap is for its licensing and import process to decide.