UK Fuel Prices on Google Maps: Fuel Finder Data Tested
We tested the UK Fuel Finder file against Google Maps data in 7 UK cities. Two thirds of prices carry no usable delay, and one forecourt often has 2 to 4 map listings.

Since October 8, 2026, Google Maps shows pump prices in the UK. The prices come from Fuel Finder, a government scheme that makes every station report a price change within 30 minutes. We downloaded the official file at 10:19 Singapore time on October 26, 2026, and matched it against EveryInfra map searches in 7 UK cities. The public file cannot show the 30-minute rule at work. For 5,250 of 7,927 unleaded prices (66.2%), the change time and the report time are the same to the second.
The second result is about identity. In the 7 cities, 276 map search results matched 201 official forecourts. Of those forecourts, 48 had 2 to 4 map listings each, and these 48 took 104 of the 257 matched listings (40.5%). A price app that counts map listings will count too many stations. We ran the same test in 3 Spanish cities as a control, and only 3 stations had more than one listing there.
In this article, "reconciliation" means one thing. We pair each map listing (a Google place_id) with one official forecourt (a Fuel Finder node_id) by postcode and distance. Then we check how old each price is, which listings are not petrol stations, and which stations have more than one map identity. The question is practical: can you build a fuel price product on the map data, the official file, or both?
What changed on October 8, and what did not
Fuel Finder rests on a statutory instrument: The Motor Fuel Price (Open Data) Regulations 2025, SI 2025/1356. The parent law is the Data (Use and Access) Act 2025. Regulation 9(2) sets the core duty. The trader must give the new price to the data operator "before the end of the period of 30 minutes beginning with the time at which the change occurs" (regulation 9).

Regulation 13 sets how the data goes out. The operator must run an API at all times and must also publish a "flat file" on two occasions each day (regulation 13).
The API must change within 5 minutes after a trader reports a price. The government guidance for traders gives the start date of the duty as February 2, 2026 (trader guidance). Regulation 19 sets the penalty cap. The Competition and Markets Authority (CMA) can fine a trader up to 1% of group turnover. A daily fine can reach 5% of daily turnover (regulation 19).
On October 8, 2026, the government said that Google Maps now shows "near real-time" prices (GOV.UK press release). The same release says that Fuel Finder covers 99% of all fuel sold on UK roads. It also says that a household with a car can save about £40 a year if it compares prices. Google's own post on the same day tells users to search for "petrol" or "fuel" in Maps or Waze (Google blog). For developers, the Places API already has a fuelOptions field with a price and an updateTime for each fuel type (Places API (New) reference).
The older CMA page on fuel price data is now withdrawn, but it is still online. It says two things that matter for anyone who builds on this data. First, "The CMA does not validate the data." Second, drivers must check the price at the forecourt before they buy (CMA page). The same page says that the CMA started to prioritise enforcement action from May 1, 2026.
Each public claim needs a different test. The table below splits them up. The next five sections test each row with real data.
| Claim | What the public data can show | What you cannot infer from it |
|---|---|---|
| "Report within 30 minutes" (regulation 9) | Each price in the CSV has a change time and a report time | Two thirds of prices have the same value in both, so the delay is unknown (Test 1) |
| "Covers 99% of fuel sold" (October 8 release) | This is by volume. In August, the CMA gave "around 97%" of stations as registered | It does not mean that 99% of station prices are current |
| "Near real-time" | The API must update within 5 minutes; the CSV updates twice a day | Google decides which prices to show on the map (Test 2) |
| "Save about £40 a year" | The price spread inside one city comes straight from the CSV (Test 4) | £40 is a government estimate for drivers who compare and can reach the cheaper station |
| "Search for a station and see the price" | Each map listing can be matched to the official list (Test 3) | One station often has several listings, and the data does not show which one carries the price |
The pass lines we wrote first
We wrote four pass lines before we ran the matching step. Each threshold comes from a source outside our own data. The sources are the 30-minute rule, the CMA's "last week" statement and Google's "high confidence" statement. The last source is the normal need for one-to-one matches in a price product. We recorded them at 10:44 Singapore time, before the match results existed.
| Test | Pass line | Basis | Result |
|---|---|---|---|
| 1. The public file can check the 30-minute rule | In the last 7 days of changes, at least 80% have a change time that differs from the report time | Regulation 9 | Fail: only 31.8% differ |
| 2. Prices are recent | At least 80% of unleaded prices changed in the last 7 days | CMA, August 18: most sites "recorded a price update within the last week" | Fail: 40.7%, but the CMA measures a different event (Test 2) |
| 3. Map listings match stations one to one | At least 90% of matched listings sit on a station with one listing | Basic need for a price product | Fail: 59.5% in the UK, 95.9% in Spain |
| 4. Map search covers the official stations in the city centre | At least 90% of official stations within 5 km appear in the results | Same | Fail: 82.2% (139 of 169) across the seven cities. Cities that fit in one 50-result page (Sheffield after page 2, Inverness, Truro) reach 100%; Belfast is at 75% and Croydon at 65% (reasons in Test 3) |
By the pass lines we wrote first, all four tests failed. This does not make Fuel Finder useless. It shows that a reconciliation step sits between the official file and the map, and the rest of this article describes that step.
Test 1: can the public file show the 30-minute rule?
At 10:19 Singapore time on October 26, we downloaded the current CSV from the Fuel Finder developer portal (download page). The government guidance says that this file updates twice a day. Our copy has 8,147 rows, one row for each forecourt, and each node_id is unique. The latest report in the file is at 16:00:02 UK time on October 25, which agrees with a twice-daily schedule.
We checked that the file was complete with an independent copy. The site fuelpricetoday keeps a history of the feed (fuelpricetoday data page; Zenodo record, October 23, 2026; OGL v3.0). All 8,143 node_id values in its October 23 station list also occur in our file.
Each fuel price has two timestamps. The first is price_change_effective_timestamp, the time of the change, which the trader reports. The second is price_submission_timestamp, the time when the report reached the system. The difference between them is the reporting delay. A delay above 30 minutes breaks regulation 9.
We did this subtraction for all 7,927 unleaded (E10) prices. The results fall into five groups. For 5,250 prices, the two times are the same to the second.
For 2,068 prices, the delay is 5 minutes or less. For 468 prices, it is between 5 and 30 minutes. For 40 prices, it is more than 30 minutes, and 8 of these are more than one day. For 101 prices, the change time is later than the report time, so the trader reported a future price.
The largest group is the group that we cannot measure. When the two times are identical to the second, the trader probably did not give a separate change time. The system then used the report time. In that case, a station that changed its price at 09:00 and reported it at 11:00 shows a delay of zero. So "only 40 late prices, or 0.5%" does not mean "99.5% on time".
Only 2,576 prices have a delay that we can read (2,068 + 468 + 40). Of these 2,576 prices, 1.6% are late. The other 5,250 prices are a blind spot. The result is the same when we look only at recent changes. Of the 3,230 unleaded prices that changed in the last 7 days, 68.2% have identical timestamps, and only 3 show a delay above 30 minutes.
The regulator's own statement fits this blind spot. In its update of August 18, 2026, the CMA said that it had sent 1,166 letters to traders since the grace period ended in April. It also issued compliance notices for 53 sites, mostly about registration. Then it added that VE3, the data operator, "has not yet referred any suspected cases of non-compliance with the price reporting duty to the CMA" (CMA press release; August 2026 report page).

A price comparison company sees the issue from the other side. PetrolPrices told the BBC that it found about 200 forecourts with late diesel updates in September (BBC, October 7, 2026). What Car? quoted a written statement from the same company. It says that the company still adds its own live prices to the official data (What Car?, October 8, 2026).
These two views do not conflict. To find a late report, you must compare the pump price with the reported price at the same moment. The timestamps in the public file come mostly from the trader. Our file can prove one narrow thing only: in the third of prices where the trader gave a separate change time, late reports are rare.
There are three limits to this result. First, we looked at one snapshot. The file keeps only the latest change for each price, so earlier late reports are invisible.
Second, the 101 prices with a future change time are not necessarily errors. The regulations do not forbid an early report, and the Spanish system requires one (see the comparison section). But these 101 do not look like planned early reports. In all of them, the change time is less than 60 minutes after the report time, and the median gap is 12 seconds. 56 come from stations with ESSO in the brand field. A clock difference of seconds to minutes between the trader's system and the central system is a more likely reason. To confirm it, you need API data with several changes for the same station. Third, the CSV and the API are two channels. The API may carry more data, and we did not apply for API credentials for this test.
Test 2: how old are the prices, and which ones disappear from the map?
On October 24, a user on Reddit's r/AskBrits asked if Google Maps had stopped showing fuel prices (Reddit thread). The thread had 21 comments. One user said that only 2 of 15 local garages showed a price. Another user said that stations with frequent price changes still showed a price, but stations with prices that stayed the same for weeks did not.
That second comment has a basis. Google's director of product partnerships for Maps and Waze told the BBC that Google would check the data on its own. "You'll only see a price if we have high confidence that it's the right price," she said (BBC, October 7, 2026). We also checked social posts for complaints about wrong prices. The sample is small, so it is only a lead. At 10:31 Singapore time on October 26, we called twitter/search (X Search API) with "google maps" plus petrol, diesel or fuel, plus wrong, different, accurate or cheaper, for posts after October 8. It returned 18 posts in the default order by popularity and cost $0.000556. In the same minute, reddit/search (Reddit Search API) with "google maps fuel prices" returned 10 posts for $0.000556. Only 2 of the 18 X posts talked about a possible wrong price, and they quote the same hypothetical joke; most others were shared satire and political comments. Of the 10 Reddit posts, only the October 24 thread above describes real use, and it is about missing prices, not wrong prices. 28 posts sorted by popularity cannot show whether the prices are accurate. The real record of wrong prices goes to the government's error report service, and that data is not public.
Google did not publish how it defines high confidence, and we do not guess its rule. What we can measure is the age of each price in the official file. Here "now" is the latest report time in the file, 16:00:02 UK time on October 25. That is about 10 hours before we downloaded the file (02:19 UK time on October 26). With this choice, the result depends on the file only, not on when someone downloads it.
Of the 7,927 unleaded prices, 213 (2.7%) changed in the last day. Another 3,017 (38.1%) changed 1 to 7 days before. Then 1,841 (23.2%) changed 7 to 14 days before, and 1,848 (23.3%) changed 14 to 30 days before. The last 1,008 (12.7%) had not changed for more than 30 days. The oldest price had stayed the same since February 8, 2026, and 28 prices were more than 90 days old.
If you measure from the download time instead, each bin moves a little toward "older", and the conclusion does not change:
| Unleaded price age | From the latest report in the file (Oct 25, 16:00) | From the download time (Oct 26, 02:19) |
|---|---|---|
| Within 1 day | 213 (2.7%) | 175 (2.2%) |
| 1 to 7 days | 3,017 (38.1%) | 3,041 (38.4%) |
| 7 to 14 days | 1,841 (23.2%) | 1,852 (23.4%) |
| 14 to 30 days | 1,848 (23.3%) | 1,825 (23.0%) |
| More than 30 days | 1,008 (12.7%) | 1,034 (13.0%) |
| Supermarket group, more than 30 days | 2.9% | 3.2% |
| Other stations, more than 30 days | 14.4% | 14.8% |
A report must say which reference time it uses. Otherwise two people with the same file get different "within 1 day" counts.
The split by station type is clear. We put 1,172 stations with Tesco, Sainsbury's or Morrisons in the brand field into a supermarket group. In that group, 21.8% of unleaded prices were more than 14 days old, and only 2.9% were more than 30 days old. Their prices cluster at 7 to 14 days (47.5%), which looks like a weekly price cycle. Among the other 6,755 stations, 38.5% of prices were more than 14 days old, and 14.4% were more than 30 days old.
There is one limit in this grouping. Many Asda stations give a store name ("ASDA" plus a place) or a partner fuel brand such as ESSO in the brand field. We did not put them in the supermarket group. So the supermarket group is a conservative group.
The supermarket brands also differ from each other. At Sainsbury's, only 0.3% of 316 unleaded prices were more than 14 days old, and the median age was 7.4 days, so prices move almost every week. Morrisons (340 stations) was at 19.1%, with a median of 8.2 days. Tesco (516 stations) was at 36.8%, with a median of 11.1 days, close to the non-supermarket stations. So "supermarket prices are fresh" rests mostly on Sainsbury's and Morrisons. Regular diesel (B7S) shows the same pattern and is older overall. Only 27.2% of 8,044 diesel prices changed in the last 7 days. In the supermarket group, 25.4% were more than 14 days old, against 42.1% at other stations; more than 30 days, the figures are 5.1% and 16.3%.
If price age is part of Google's confidence test, prices at independent and rural stations will disappear from the map more often. This agrees with the Reddit report that supermarkets show prices and small rural stations do not. It also agrees with the CMA's own note that "smaller and rural sites tend to change their prices less frequently" (CMA press release). But agreement is not proof. We cannot see which stations show a price in the Google interface, and Google can change its rule at any time.
These numbers also explain why Test 2 failed. The CMA said that the "overwhelming majority of sites have recorded a price update within the last week". We found that 40.7% of unleaded prices changed in the last 7 days. The two numbers measure different events. The CMA counts any update, which can include a confirmation of the same price. The CSV keeps only the time of the last price change, and a confirmation leaves no mark in it.
So we cannot use 40.7% to argue against the CMA. We can say this: the public file cannot tell you if an old price was confirmed or forgotten. The fuelpricetoday averages remove prices that stayed the same for more than 30 days, because "a long silence suggests a station that has stopped reporting". Its documentation also accepts that the rule removes some stations whose price did not change (fuelpricetoday data page).
By nation, the differences are smaller than by station type. The official country field is not usable (see the metadata section), so we used the nation that fuelpricetoday derives from the postcode. In England, 35.9% of unleaded prices at 6,242 stations were more than 14 days old. In Scotland, the figure was 36.5% at 820 stations, and in Wales it was 41.4% at 489 stations. In Northern Ireland, it was 32.6% at 592 stations.
For prices older than 30 days, Wales (19.8%) and Northern Ireland (17.7%) are higher than England (11.8%). Northern Ireland also has lower prices. Its median unleaded price was 165.9p per litre, against 173.9p in England.
| Nation (from postcode) | Stations | Unleaded price older than 14 days | Older than 30 days | Median unleaded (p/litre) |
|---|---|---|---|---|
| England | 6,242 | 35.9% | 11.8% | 173.9 |
| Scotland | 820 | 36.5% | 12.5% | 173.9 |
| Wales | 489 | 41.4% | 19.8% | 172.9 |
| Northern Ireland | 592 | 32.6% | 17.7% | 165.9 |
Test 3: one station on the map, how many in the official list?
At 10:24 Singapore time on October 26, we called google_maps_reviews/search (Google Maps Reviews Search API). The keyword was "petrol station", the location was Sheffield and the country was gb. The call returned 50 results and cost $0.001389. Our request for page 2 at 10:25 Singapore time returned a 422 async_required error, because pages past 60 rows need async mode. The error said that nothing was charged.
At 10:26 Singapore time we sent the same request in async mode. The job finished in about half a minute and gave 23 more results. From 10:25 to 10:52 Singapore time, we then searched Inverness, Belfast, Cardiff, Glasgow, Truro and Croydon in south London. The 7 cities gave 276 results in total.

The first finding is simple: the search results contain no fuel prices. The fields agree with the catalog response_fields: name, category, address, postcode, coordinates, phone, website, rating and review count. The catalog has a price field, but it is a price level for the place, and none of the 276 results had it. So the price that Google shows in its interface is not in this place data. A fuel price product still needs Fuel Finder for the price. The map data tells you which station it is, where it is and what customers say about it.
The second step is the match. Our rule is simple. A map listing matches an official forecourt when the distance is 150 metres or less. A listing also matches when the postcode is exactly the same and the distance is 400 metres or less.
Of the 276 listings, 257 matched 201 official forecourts, and the median match distance was 11 to 17 metres in each city. Most of the 19 listings without a match are not petrol stations: a McDonald's, car parks, a coach station and some shops. By the category field, 38 of the 276 results (13.8%) are not in a petrol station category.
The problem is one-to-many. Of the 201 matched forecourts, 48 had 2 to 4 map listings each. These 48 forecourts took 104 listings, which is 40.5% of the matched listings.
The raw data shows the reasons. One Jet station on Penistone Road in Sheffield has four listings on the map. They are "Penistone Service Station", "JET" and two "Spar" listings, one for fuel and one for the shop. The four points are less than 15 metres apart.
The bp station on Bramall Lane also has a Spar shop listing and a "BP - Car Wash" listing. In Belfast, the official record is called "Spar Malone Road" with the brand BP. On the map, it is two listings, "bp" and "SPAR Malone Road". The fuel brand, the shop brand and the operating company (for example MFG, EG or Rontec) each have their own map identity. The official list has one record for the station.
| City | Map results | Matched | Official stations | Stations with 2+ listings | Listings on those stations | No match |
|---|---|---|---|---|---|---|
| Sheffield | 73 | 66 | 46 | 15 | 35 | 7 |
| Inverness | 15 | 14 | 10 | 4 | 8 | 1 |
| Belfast | 50 | 47 | 40 | 7 | 14 | 3 |
| Cardiff | 49 | 43 | 32 | 10 | 21 | 6 |
| Glasgow | 50 | 50 | 45 | 5 | 10 | 0 |
| Truro | 8 | 8 | 7 | 1 | 2 | 0 |
| Croydon | 31 | 29 | 21 | 6 | 14 | 2 |
| Madrid | 50 | 47 | 47 | 0 | 0 | 3 |
| Barcelona | 50 | 49 | 49 | 0 | 0 | 1 |
| Seville | 50 | 50 | 47 | 3 | 6 | 0 |
To check that this is not a general feature of map data, we ran the same test in Spain from 10:34 to 10:55 Singapore time. We used Madrid, Seville and Barcelona. The official list was the Spanish ministry's station price API (MITECO API), which we read at 10:29 Singapore time. It lists 11,380 stations.
The 3 Spanish cities gave 150 results. Of these, 146 matched 143 official stations. Only 3 stations in Seville had more than one listing, with 6 listings in total, which is 4.1% of matched listings. One of those pairs matched only by postcode at 284 metres, so it may be two different stations.
The UK and Spain differ by a factor of about ten. Our hypothesis is the structure of UK forecourts. Many have a fuel brand, a shop brand and an operating company. The shop and the car wash often have their own map listings. This is a hypothesis. To test it, you need more cities and more countries.

What does this mean for a product? If you count petrol stations from map search results, the 7 UK cities give 276. The official list has 201 matching forecourts, plus 19 listings that are not petrol stations.
If you attach prices to map listings, you must first choose which of the four Penistone Road listings stands for the station. Our earlier articles on Google Maps place ID deduplication and solar installer identity show related problems. In those cases, one company splits into several places, or several companies merge by mistake. Fuel stations are an easier case, because a statutory list gives you the ground truth.
Coverage is the other side. For each city, we drew a 5 km circle around the centre and counted the official forecourts inside it. Then we checked how many of them appeared in the search results.
Sheffield had all 28. Inverness had 10 of 10 and Truro had 4 of 4. Glasgow had 25 of 30, Cardiff had 19 of 22, Belfast had 33 of 44 and Croydon had only 20 of 31. In total, 139 of 169 (82.2%) appeared.
Most gaps come from the page size of 50 results. For Belfast we took page 1 only, and the Croydon search returned only 31 results. Sheffield reached full coverage only after page 2. Coverage in the Spanish city centres was much lower (Madrid 18 of 63), because the results spread across the whole city.
By the 90% pass line we wrote first, this test fails. But the stations that the search missed are not special in price. In Belfast, the 11 stations that did not appear had a median unleaded price of 165.4p a litre, against 164.9p for the 33 that did. In Glasgow and Croydon, both groups had the same median (172.9p and 171.9p), and Cardiff was at 172.9p against 173.9p. So low coverage makes a station count too small, but it does not clearly bend the local price. To close the gap, read more pages or search a smaller area; a different keyword does not help.
The match also showed two metadata problems. The first is the brand field. It does not always give the brand that customers see. In Sheffield, the official record for Marsh Lane has the brand "Valero", but the map listing says "Texaco". Valero is the company and Texaco is the sign. At Banner Cross, the official brand is ESSO, and the map has an extra "Texaco (MFG)" listing at the same point.
The second problem is coordinates. In Sheffield, 4 pairs of listings have exactly the same postcode, but the official point and the map point are 165 to 227 metres apart. One example is Tesco Sheffield Extra. Its official point is at the supermarket building, and its map listing is at the pumps. A strict 150-metre rule misses these pairs, so our rule keeps the "same postcode within 400 metres" step.
Test 4: how much can one tank differ inside one city?
The government estimate of £40 a year is a national average. We measured something more local. For each city, we took the highest and lowest price within 5 km of the centre from the official file. Then we multiplied the difference by 50 litres. For conversions, we used the European Central Bank reference rates of October 23, 2026, which give £1 ≈ $1.3368.
For unleaded, Glasgow had the largest spread: 166.9p to 189.9p per litre, or £11.50 for one tank (about $15.37). Sheffield went from 166.9p to 177.9p, which is £5.50 (about $7.35). Croydon went from 169.9p to 179.9p, which is £5.00 (about $6.68). Truro had £4.00 (about $5.35), Belfast had £3.50 (about $4.68), Inverness had £3.10 (about $4.14) and Cardiff had £2.10 (about $2.81).
| City (within 5 km) | Unleaded low–high (p/litre) | Difference for 50 litres | Diesel low–high (p/litre) | Difference for 50 litres |
|---|---|---|---|---|
| Glasgow | 166.9–189.9 | £11.50 (about $15.37) | 190.9–209.9 | £9.50 (about $12.70) |
| Sheffield | 166.9–177.9 | £5.50 (about $7.35) | 186.9–201.9 | £7.50 (about $10.03) |
| Croydon | 169.9–179.9 | £5.00 (about $6.68) | 196.7–203.9 | £3.60 (about $4.81) |
| Truro | 171.9–179.9 | £4.00 (about $5.35) | 199.9–203.9 | £2.00 (about $2.67) |
| Belfast | 161.9–168.9 | £3.50 (about $4.68) | 181.9–195.9 | £7.00 (about $9.36) |
| Inverness | 173.7–179.9 | £3.10 (about $4.14) | 198.7–205.9 | £3.60 (about $4.81) |
| Cardiff | 171.7–175.9 | £2.10 (about $2.81) | 196.7–201.9 | £2.60 (about $3.48) |
For diesel, the largest spreads were in Glasgow (190.9p to 209.9p, or £9.50, about $12.70), Sheffield (186.9p to 201.9p, or £7.50, about $10.03) and Belfast (181.9p to 195.9p, or £7.00, about $9.36). Read these numbers with the context. On September 30, the RAC Foundation said that the UK average diesel price passed £2 a litre at 8 a.m. that day, based on Fuel Finder data (RAC Foundation, September 30, 2026). Of that £2, 86p was fuel duty and VAT. The spread is real, but one full tank saves about £10 at most, and the drive to a cheaper station has its own cost.
The largest spreads inside a city often come from motorway services or special sites, not from normal stations. The official file lists 168 motorway service stations. Their median unleaded price was 198.9p per litre, against 172.9p at all other stations, which is 26.0p more. For diesel, the medians were 222.9p and 199.0p, a difference of 23.9p.
In the whole file, 104 unleaded prices were more than 25p away from the national median, and 91 of these were at motorway services. The fuelpricetoday rule treats a price more than 25p from the daily median as an error. At national level, that rule mostly removes motorway prices. For this reason, the same site also removes motorway services from its averages (fuelpricetoday data page).
Some values do look like entry errors. A Gulf station near Cambridge shows premium diesel at 100.9p per litre, while its standard diesel is 201.9p. A Gulf station in Chelsea, London, shows unleaded at 299.9p. A person must check these single values. A script must not delete them without a check.
Metadata traps: nation, supermarket flag and duplicate records
Any count by nation or by station type meets problems in the official fields first. We checked each column that affects a count. The table lists what we found in the October 26 file.
| Field | Problem | Count | What to do |
|---|---|---|---|
location.country | Many spellings for one nation (ENGLAND, England, E), plus UNITED KINGDOM, UK and blank values | 15 values; 727 blank, 728 UNITED KINGDOM, 5 UK | Do not use it. Derive the nation from the postcode |
location.country against the postcode | Of 6,687 rows with a named nation, 16 disagree with the postcode | 16 rows | Check each row: some Welsh sites say ENGLAND, but 2 Berwick-upon-Tweed rows are errors in the postcode rule (TD15 is in England) |
is_supermarket_service_station | The same supermarket brand is flagged at some sites and not at others | 46 of 316 Sainsbury's and 22 of 516 Tesco sites are not flagged; all 340 Morrisons sites are flagged | Classify again from brand and name |
brand_name | Company or sign, with no single rule (Valero against Texaco); Asda sites often give a store name or a partner brand | Not countable; many cases in the match | Build a brand map before you count by brand |
permanent_closure | Always false | All 8,147 rows | Infer a closure when a station leaves the file |
| Coordinates | 5 pairs of stations have identical coordinates; one station (H J Taylor, WR12 7PL) appears twice, once with the postcode "WR127PL" | 10 rows | Remove spaces from postcodes before you remove duplicates |
The nation field causes the most trouble. For 1,460 rows (17.9%), the value is blank or "United Kingdom". If you drop these rows, Northern Ireland and other nations lose many stations. The postcode route has its own traps, because postcode areas near borders, such as TD, do not all sit in one nation. So every number by nation in this article says "by postcode", and the derivation comes from fuelpricetoday.
The permanent closure field also needs a note. Regulation 8(3) says that a trader must report a foreseen permanent closure at least 28 days before the closure date (full regulations). But no station in our file has a closure flag. The fuelpricetoday station changes table shows 92 arrivals, 12 departures and 19 returns between September 7 and October 23. None of the 12 departures has a closure date. For a product, you can infer a closure only when a station stays out of the file for several days.
Fuel types also matter to drivers. In the file, 7,927 stations have an E10 price, but only 6,270 have an E5 price. Premium diesel has 4,172 stations, B10 has 62 and HVO has 56. In an OpenStreetMap forum thread, the owner of a classic car said that finding E5 away from home "has become a lottery" (OSM forum, February 2, 2026).
Users on Reddit say that the Google interface usually shows unleaded only (r/northernireland, October 8, 2026). The official file has every fuel type. A filter by fuel type is a clear way for open data products to add value over the map interface.
Comparison: how Spain and other countries publish fuel prices
The UK design is easier to judge next to other systems. Spain has required station price reports since 2007. Article 6 of Order ITC/2308/2007 says that a station must report all prices every Monday. When a price changes, the station must report it 1 hour to 3 days before the change (BOE, Orden ITC/2308/2007). So the UK says "report within 30 minutes after the change", and Spain says "report at least one hour before the change".
The Spanish API returns all 11,380 stations in one response. But the whole response has one timestamp only. Ours said "26/10/2026 3:29:41". No single price has its own time.
The API note says that prices update every half hour. The ministry's map portal says that the data updates every five minutes (Geoportal de Gasolineras). The two statements do not agree.
The Spanish spreads inside one city are larger than the UK spreads. Within 5 km of the centre, 95 petrol went from 1.619 to 1.879 euros per litre in Madrid. It went from 1.599 to 1.909 in Barcelona and from 1.527 to 1.896 in Seville. For a 50-litre tank, that is 13.00, 15.50 and 18.45 euros (about $14.55, $17.35 and $20.65 at the ECB rate of October 23, 2026).
Spain also shows why price changes need context. Royal Decree-law 25/2026 of September 29 cut the fuel tax on petrol and diesel by 20 euro cents per litre in October. The cut falls to 13 cents in November and 6 cents in December (BOE, RDL 25/2026; Spanish Ministry of Finance). On November 1, Spanish pump prices will rise across the country for a tax reason, not a market reason.
| UK Fuel Finder | Spain MITECO | Mexico CNE | Mainland China | |
|---|---|---|---|---|
| Who sets the price | The station | The station | The station | The state sets a maximum retail price; the station sets a price below it |
| Reporting deadline | Within 30 minutes after a change | At least 1 hour and at most 3 days before a change, plus a full report every Monday | Reported under a regulatory agreement; published daily at 18:00 | No station-level duty; the state publishes caps every 10 working days |
| Publication | API (OAuth) and a CSV twice a day | Open API, the whole country in one response | Price XML and station XML | Caps per tonne on the national website; local caps from provincial bodies |
| Timestamp for each price | Two: change and report | None; one time for the whole file | None | Not applicable |
| Our test | 8,147 stations; 66.2% with identical timestamps | 11,380 stations; 4.1% multi-listing in 3 cities | 13,851 stations; 42.0% of regular petrol at exactly 23.99 pesos | Not tested |
The Mexico column comes from the price page of the National Energy Commission. Permit holders report prices under a regulatory agreement, and the page updates every day at 18:00 Mexico City time (CNE price page). The China column comes from the national oil price rules. Retail prices follow a state cap that changes every 10 working days. Retailers set their own price below that cap (NDRC oil price rules, articles 7 and 8). China has no station-level price to reconcile with a map, so we did not test it.
We downloaded the CNE price XML at 11:08 Singapore time on October 26; it is free and was not billed. Of 13,785 stations with a regular petrol price, 86.5% were at 24 pesos or less. In September, Mexico's consumer agency (Profeco) said that 87% of stations followed the voluntary 24-peso cap (El Heraldo de México, September 2, 2026). The file confirms that number. Of those stations, 5,786 (42.0%) showed exactly 23.99 pesos.
The table shows one point clearly. Of these systems, the UK gives each price the most detail, with two timestamps. But for two thirds of prices, the two timestamps hold the same value, so the most detailed design is not in use.
A product you can build: a weekly town audit
The tests above point to a product that is not "one more price app". The government factsheet already lists more than ten apps (drivers' factsheet). The product is a weekly reconciliation report for fleets, price apps and local media. For each town, it shows the match between the official file and the map listings. It also lists stations with several listings, old prices, the price spread and unusual prices.
Its readers are people who show prices to others. Price apps want to avoid wrong prices. Fleets do not want drivers to arrive at a station with a different price. Local media want to write about "the cheapest station in town".
Two decisions in this flow need a person. The first is which listing stands for a station with several listings. We suggest the listing in the petrol station category with the fuel brand in its name. Mark the others as related listings for the same station.
The second is what to do with an unusual price. A high price at a motorway service is real. A premium diesel price of 100.9p at a Gulf station looks like an entry error. A rule must not make this decision. The report must also state the timestamp blind spot, so that nobody reads a delay of zero as an on-time report.
The fuelpricetoday daily file shows one more trap. Its count of daily price changes averaged 3,102 a day from September 24 to October 7. From October 8 to October 22, after the Google launch, it averaged 1,776 a day. The number of stations in its unleaded average fell from 7,665 on October 7 to 7,029 on October 23 (fuelpricetoday data page). From these two numbers alone, you could say that Google Maps caused fewer price changes and fewer reporting stations.
But in the same period, the UK average diesel price peaked at 199.8p on October 3 and then stayed flat. When prices stay flat, stations change them less often. The station count fell because the average removes prices that stayed the same for 30 days, and a longer flat period removes more stations. Two weeks of data cannot show that Google Maps made competition stronger. They also cannot show that it made reporting worse.
The cost: a weekly audit for 50 towns
We used the prices in the capability catalog that we read on October 26, 2026 (the pricing page is the reference). google_maps_reviews/search costs $0.001389 per call, with up to 50 results per page. twitter/search and reddit/search cost $0.000556 per call. The Fuel Finder CSV and the Spanish API are free.
| Item | Calls per week | Unit price | Per week |
|---|---|---|---|
| Map search: 50 towns × 2 pages | 100 | $0.001389 | $0.138900 |
| X search: 2 queries a day for wrong-price complaints | 14 | $0.000556 | $0.007784 |
| Reddit search: 1 query a day | 7 | $0.000556 | $0.003892 |
| Fuel Finder CSV, Spanish API | Any | Free | $0 |
| Total | $0.150576 |
A month has 52/12 weeks on average (about 4.33), so that is about $0.65 a month. Map search has one price per call, whatever the number of rows. A page of 50 results and a page of 8 results (Truro) cost the same.
Empty results and failed calls are refunded. In our test, the 4 requests with a 422 or 429 status cost nothing. The 15 billed calls for this article cost $0.019169 in total. One of them is a Mexico City map search that the Spanish edition uses.
Get the same data with code or an AI client
This curl request searches for petrol stations in one city. The key is a placeholder.
curl -s https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer <API Key>" \
-H "Content-Type: application/json" \
-d '{"platform":"google_maps_reviews","action":"search","params":{"keyword":"petrol station","location":"Sheffield","country":"gb","limit":50}}'The fields that matter for the match agree with the catalog response_fields. place_id is the Google place ID, which all Google services share. name, category and categories show if the listing is a petrol station; we count it only when categories contains "Petrol Station". address, city, postal_code and country_code go into the postcode match, and lat and lng go into the distance. phone and website help you link listings for one station. For example, a bp listing links to a bp page, and a Spar listing links to a Spar page.
rating, rating_scale and review_count are review data. price is a price level, not a fuel price, and permanently_closed marks a closed place. The catalog also lists description, state, image_url and platform. In our results, description and price did not appear.
In Claude Code, create a key with the quickstart first. Then add the remote MCP server, as the Claude Code MCP documentation describes.
claude mcp add --transport http everyinfra https://api.everyinfra.com/mcp \
--header 'Authorization: Bearer ${EVERYINFRA_API_KEY}'Then you can ask: "Use everyinfra_call_api to call google_maps_reviews/search for petrol stations in Glasgow. Match the results to my Fuel Finder CSV by postcode and a 150-metre distance, and list the stations with more than one listing."
We saw three error and billing cases in this test. First, a sync request for a page past 60 rows returns 422 async_required. The message tells you to use "mode":"async" and says that nothing was charged. An async request returns a job_id and a poll_url at once, and the finished job shows billing_state as charged. Second, more than 10 requests a minute on one key return 429 rate_limited with a retry_after value (27 seconds in our case). This also costs nothing, and you can send the request again after the wait.
Third, one case returns no error, but it needs care. At 10:30 Singapore time, a Spanish search with Madrid only in the location field returned 50 results, and none of them was in Madrid. They were in Las Palmas, Murcia, Valencia and other places, and the call was billed as normal. With the city in the keyword ("gasolinera en Madrid"), 46 of 50 results were in Madrid.
The parameter notes also say that keyword and location must not conflict. The safer method is to put the city in the keyword. For the refund record of each call, see failure refunds and reconciliation.
Other methods, and what each one misses
The official CSV alone is free and has the official node_id. It updates twice a day. But it has no reviews, photos or map identity, so it cannot show which listing a customer sees. Use it for the price itself.
The Fuel Finder API needs a GOV.UK One Login and OAuth client credentials (guidance). The operator must update it within 5 minutes after a report, so it is much fresher than the CSV. An open-source Home Assistant integration uses it this way (GitHub project). We did not apply for API credentials, so this article does not test the API.
The Google Places API field fuelOptions gives the price that Google shows, with an updateTime. It needs a Google Cloud account with billing per call. It also shows only the prices that Google trusts.
Our method gets place data for many towns, keeps the raw responses and matches each listing to the official list. It cannot show which price the Google interface shows at a given moment, and it does not have the minute-level freshness of the API.
Recent changes to watch (August to October 2026)
The Google Maps launch of October 8 and the BBC report of October 7 are covered in the first section and in Tests 1 and 2, so they are not repeated here.
On September 30, 2026, the RAC Foundation used Fuel Finder data to report that average diesel passed £2 a litre (RAC Foundation). For readers, this means that independent bodies now publish national averages from Fuel Finder, so data quality problems have a larger effect.
On September 29, 2026, Spain extended its fuel tax cut, with 20 cents a litre in October and smaller cuts after that (BOE). For readers, this means that a month-to-month comparison of Spanish prices must remove the tax change first.
On August 18, 2026, the CMA said that its autumn report will examine why fuel prices vary between local areas (CMA; The Guardian). For readers, this means that town-level spread data will soon have an official analysis to compare with.
On October 11, 2026, the marketing site PPC Land described the Google launch as a feed from the 30-minute reporting rule (PPC Land). For readers, this means that local search and ads teams now treat fuel prices as part of a station's map profile.
Limits of this article
All official data in this article comes from one CSV. We downloaded it at 10:19 Singapore time on October 26, 2026, and its latest report is at 16:00 UK time on October 25. We had no API credentials, no minute-level data and no history of our own. For history, we used the fuelpricetoday daily file only.
We took one or two pages of map search for each city, so the page limit affects coverage. Our match rule (150 metres, or 400 metres with the same postcode) is our own, and a different rule gives different numbers. The supermarket group uses the brand field and leaves out Asda. The nation comes from the fuelpricetoday postcode rule, which is wrong for some border postcodes.
We did not see whether Google showed a price for any station at any moment. So Test 2 shows agreement, not proof, that Google uses price age. The Spanish control covers the map match and the spread only. We did not check how fast Spanish stations report.
FAQ
Why are Google Maps gas prices wrong? Google says that it shows a price only when it has high confidence in it (reported by the BBC). Wrong prices can still occur. In the public file, 5,250 of 7,927 unleaded prices have identical change and report times, so the file cannot show a late report. PetrolPrices said that it found about 200 late diesel updates in September. If you see a wrong price, the government has an error report form. (Question from the search suggestion "google maps gas prices wrong".)
Is there a Google Maps gas prices API? Yes. The Places API (New) has a fuelOptions field with a price and an updateTime for each fuel type. It needs a Google Cloud account with billing. In the UK, the free alternative is the Fuel Finder CSV, which updates twice a day, or the Fuel Finder API with OAuth credentials. Our place search gives the listing data, but it has no fuel price. (Question from the search suggestion "google maps gas prices api".)
Does Fuel Finder cover Northern Ireland? Yes. The regulations apply to the whole UK. By postcode, the October 26 file has 592 stations in Northern Ireland, with a median unleaded price of 165.9p per litre. Within 5 km of central Belfast, there were 44 official stations, and 33 of them appeared on the first page of our map search. The country field is not reliable, so use the postcode (BT) to find these stations. (Question from the search suggestion "fuel finder ni".)
Related reading
Platform pages: Google Maps Scraper API, X (Twitter) Scraper API, Reddit Scraper API. Capability pages: Google Maps Reviews Search API, Google Maps place details API, X Search API, Reddit Search API. Related articles: Reddit ends RSS on November 13, public tender data as a subscription product.
References
- UK Government, The Motor Fuel Price (Open Data) Regulations 2025, SI 2025/1356, contents and full text, legislation.gov.uk, read 2026-10-26, https://www.legislation.gov.uk/uksi/2025/1356/contents/made
- Same, regulation 9, "Duty to provide motor fuel price changes", https://www.legislation.gov.uk/uksi/2025/1356/regulation/9/made
- Same, regulation 13, "Sharing of price information", https://www.legislation.gov.uk/uksi/2025/1356/regulation/13/made
- Same, regulation 19, "Financial penalties", https://www.legislation.gov.uk/uksi/2025/1356/regulation/19/made
- UK Parliament, Data (Use and Access) Act 2025, legislation.gov.uk, https://www.legislation.gov.uk/ukpga/2025/18/contents
- Department for Energy Security and Net Zero (DESNZ), "Report your fuel prices and forecourt details", GOV.UK, read 2026-10-26, https://www.gov.uk/guidance/report-your-fuel-prices-and-forecourt-details
- DESNZ, "Access the latest fuel prices and forecourt data via API or email", GOV.UK, 2026-02-02, https://www.gov.uk/guidance/access-the-latest-fuel-prices-and-forecourt-data-via-api-or-email
- Fuel Finder developer portal, "Ways to access latest Fuel Finder data", read 2026-10-26 (direct requests from Singapore return 403; text read through our search tool), https://www.developer.fuel-finder.service.gov.uk/fuel-finder/access-latest-fuelprices
- UK Government, "Drivers set to save as petrol prices launch on Google Maps", GOV.UK press release, 2026-10-08, https://www.gov.uk/government/news/drivers-set-to-save-as-petrol-prices-launch-on-google-maps
- UK Government, "Fuel Finder for drivers: Factsheet", GOV.UK, read 2026-10-26, https://www.gov.uk/government/news/fuel-finder-for-drivers-factsheet
- UK Government, "Fuel Finder" collection, GOV.UK, read 2026-10-26, https://www.gov.uk/government/collections/fuel-finder
- DESNZ, "Report an error in fuel prices or forecourt details", GOV.UK, read 2026-10-26, https://www.gov.uk/guidance/report-an-error-in-fuel-prices-or-forecourt-details
- Competition and Markets Authority, "[Withdrawn] Access fuel price data", GOV.UK, read 2026-10-26, https://www.gov.uk/guidance/access-fuel-price-data
- CMA, "CMA publishes latest monitoring update on road fuel market", GOV.UK, 2026-08-18, https://www.gov.uk/government/news/cma-publishes-latest-monitoring-update-on-road-fuel-market
- CMA, "Enhanced road fuel monitoring report: August 2026", GOV.UK, 2026-08-18, https://www.gov.uk/government/publications/enhanced-road-fuel-monitoring-report-august-2026
- CMA, "Road fuel market study" case page, GOV.UK, read 2026-10-26, https://www.gov.uk/cma-cases/road-fuel-market-study
- Google, "Find UK fuel prices with Google Maps and Waze", Google blog, 2026-10-08, https://blog.google/company-news/inside-google/around-the-globe/google-europe/united-kingdom/google-maps-waze-fuel-prices-uk/
- Google for Developers, "REST Resource: places, Places API (New)" (FuelOptions, FuelPrice), read 2026-10-26, https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places
- BBC News, "Fuel prices added to Google Maps as petrol and diesel costs soar", 2026-10-07, https://www.bbc.co.uk/news/articles/ckx2d4ddjn2eo
- The Guardian, "UK motorists can now see live fuel prices on Google Maps", 2026-10-08, https://www.theguardian.com/money/2026/oct/08/uk-drivers-live-petrol-diesel-prices-google-maps-pump-pricing
- The Guardian, "UK retailers too slow to pass on fuel price falls, watchdog says", 2026-08-18, https://www.theguardian.com/business/2026/aug/18/uk-retailers-too-slow-pass-on-fuel-price-falls-cma
- What Car?, "Google Maps now shows live fuel price data", 2026-10-08, https://www.whatcar.com/news/google-maps-now-shows-live-fuel-price-data
- RAC Foundation, "Diesel pushes through £2 a litre mark", 2026-09-30, https://www.racfoundation.org/media-centre/diesel-pushes-through-2-a-litre-mark
- PPC Land, "Google Maps gains UK fuel prices fed by 30-minute station reporting rule", 2026-10-11, https://ppc.land/google-maps-gains-uk-fuel-prices-fed-by-30-minute-station-reporting-rule/
- Reddit r/AskBrits, "Google Maps no longer showing fuel prices?", 2026-10-24, https://www.reddit.com/r/AskBrits/comments/1xe5c8t/google_maps_no_longer_showing_fuel_prices/
- Reddit r/northernireland, "PSA: Live fuel prices in NI now on Google Maps", 2026-10-08, https://www.reddit.com/r/northernireland/comments/1x0osi6/psa_live_fuel_prices_in_ni_now_on_google_maps/
- OpenStreetMap community forum, "UK GOV Fuel Finder Open Data", 2026-02-02, https://community.openstreetmap.org/t/uk-gov-fuel-finder-open-data/141220
- fuelpricetoday.co.uk, "UK Fuel Price Data: Daily Petrol and Diesel Prices by Station", read 2026-10-26, https://fuelpricetoday.co.uk/data
- fuelpricetoday.co.uk, "UK fuel prices by filling station, daily, from the Fuel Finder feed", Zenodo, 2026-10-23, DOI 10.5281/zenodo.23588864, https://doi.org/10.5281/zenodo.23588864
- The National Archives, Open Government Licence v3.0, https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/
- GitHub beecho01, "Fuel-Prices-UK" Home Assistant integration, read 2026-10-26, https://github.com/beecho01/Fuel-Prices-UK
- European Central Bank, "Euro foreign exchange reference rates", 2026-10-23, https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html
- Spanish Ministry for the Ecological Transition (MITECO), station price API "EstacionesTerrestres", read 2026-10-26 at 10:29 SGT, https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/EstacionesTerrestres/
- Spanish Ministry of Industry, Tourism and Trade, Orden ITC/2308/2007, BOE, 2007-07-25, https://www.boe.es/buscar/doc.php?id=BOE-A-2007-14592
- Government of Spain, Real Decreto-ley 25/2026 of 29 September, BOE, 2026-09-30, https://www.boe.es/buscar/act.php?id=BOE-A-2026-20265
- Spanish Ministry of Finance, press release on the hydrocarbon tax cut, 2026-09-29, https://www.hacienda.gob.es/en-GB/Prensa/Noticias/Paginas/2026/20260929-NP-CM-MEDIDAS-FISCALES.aspx
- MITECO, Geoportal de Gasolineras, read 2026-10-26, https://geoportalgasolineras.es/geoportal-instalaciones/Inicio
- Mexico National Energy Commission (CNE), "Precios de expendio de gasolinas y diésel", read 2026-10-26, https://www.cne.gob.mx/ConsultaPrecios/GasolinasyDiesel/GasolinasyDiesel.html
- National Development and Reform Commission (NDRC), Oil Price Management Rules, 2016, https://www.ndrc.gov.cn/xxgk/zcfb/tz/201601/W020190905506573420251.pdf
- EveryInfra, capability catalog
GET /api/v1/social/catalog, read 2026-10-26, https://api.everyinfra.com/api/v1/social/catalog - Anthropic, "Connect Claude Code to tools via MCP", read 2026-10-26, https://code.claude.com/docs/en/mcp
- CNE, price XML for each station, downloaded 2026-10-26 at 11:08 SGT, https://publicacionexterna.azurewebsites.net/publicaciones/prices
- El Heraldo de México, "Profeco da detalles sobre acuerdo voluntario para estabilizar precios de gasolina y diésel", 2026-09-02, https://heraldodemexico.com.mx/nacional/2026/9/2/profeco-da-detalles-sobre-acuerdo-voluntario-para-estabilizar-precios-de-gasolina-diesel-881006.html
Reference BL-44