I’ve set up an Overpass API server with Britain and Ireland data in it. The server is https://overpass.atownsend.org.uk/ - see the page there for capabilities, usage policy and privacy policy. You can use any other Overpass Turbo instance to point to it; just follow these instructions. I’ve also added it to the wiki list.
I suspect that the big caveat for some people will be that it’s currently IPV6 only. Adoption of that is apparently just over 50% in the UK and just over 40% in Ireland. If you can see the website, you can use IPV6. Overpass Turbo runs in your browser and sends requests to a remote Overpass API instance, so it doesn’t matter whether the site hosting Overpass Turbo is IPV6-capable, it matters that your browser is.
The Britain and Ireland data is updated nightly. Area searches work OK, but there’s currently no metadata or attic data.
Setup of a similar server was described in a diary entry, so if you fancy running your own server, off you go…
On the IPV6 front, mobile might also be worth a try, although this list from last year is not promising. I guess I’ve been spoiled by having IPV6 access at home for some years now, and all the external services that I can think that I’ve used also supporting IPV6.
Thanks for setting this up.
I’m in the process of testing this. As 98% of my database calls are for Great Britain this looks like it will satisfy my requirements.
Q’s & requests
Hourly or even minutely updates. How much strain on would that be on your server? Often, when updating my local area with frequently updated data, such as FHRS, I like to check the recently refreshed database to see if I’ve amended it correctly.
An area for Great Britain (England, Scotland, Wales). One was never created which I always felt was amiss. Many of my routines cover GB. Would it improve speed of execution? How much time/effort would be involved to create it?
This routine:
area(id:3600058447,3600058437,3600058446);
waytunnel=no;
out center;
Is turning Overpass Turbo’s data status indicator yellow, which I believe means the query returned more elements than OT is allowed to display & truncated the result.
Using the main api it returns 700 items (without turning yellow). Is that too many for your server?
“cors missing allow origin”. I’m receiving this console error when using https://overpass.atownsend.org.uk/api/ in a Leaflet html/js. The other api endpoints (when they work) don’t return this error. A quick AI search suggests the solution is to “Add response headers”. Is that something you’re able/willing to do.
It’s not really a “strain on the server” thing. What I initially tried to do was to load Britain and Ireland from Geofabrik (with the flags set to no metadata and no attic data to keep it simple), and then update it with minutely diffs from https://planet.osm.org. That didn’t work (the code just fell over). A solution might be to add a call to Zverik’s trim_osc.py into the update, but initially I just went with Geofabrik’s diffs which match their extracts, and avoids the “code falling over” problem. The downside is that Geofabrik’s diffs are nightly, not minutely.
I’ve never made much use of areas (other than “Britain and Ireland”) so defining others here was never a priority. The area code is a one-off script and this is apparently the “rules” files; I guess you could tinker with that to understand what will be processed as an area.
No idea. This:
way["tunnel"="no"];
out center;
returns the same 771 and is not yellow.
Right now, it’s specifically set up to allow Overpass Turbo only**. I could allow more (or anything) but for now it’s a deliberate decision to allow “human” traffic and not encourage anything else. Various things are options in the future, including possibly Oauth2 via osm.org, and the “weed out the abusers” code that would be needed to go alongside it, but for now it’s deliberately limited in scope.
Edit: I originally guessed the “England, Scotland and Wales” query wrong, as noted below. I’ve corrected it above.
** Edit 2: Actually, it’s not, it should allow pretty much anything. I’ve just used it from JOSM without problems.
For clarity, this is the actual code (Discourse gets confused when pasted direct). I wanted to restrict the returned data to England, Scotland & Wales.
area(id:3600058447,3600058437,3600058446);
way[tunnel=no](area);
out center;
It might be - I’ve not re-run the area generation since it doesn’t change much. The data itself is updated daily, and that daily update will likely be in the early morning.
Edit: re-running the area update confirms that it was the reason.
@SomeoneElse - many thanks for providing this server. Given the current issues with the other Overpass servers, it’s made keeping some of my tools up to date much easier.
Has your updating process got stuck at the moment though? I’m seeing osm_base="2026-04-05T20:20:45Z" in the output, which is longer in the past than usual.
Yes. What a delightful piece of software Overpass is to work with…
I noticed a couple of days ago that the update time was “drifting” from the expected update time (a few hours after 3am) to later in the day (> 9am) and tried to speed it up by halving the wait time from 8 hours down to 4. The timestamp that I was checking to see if updates were still working said this morning
timestamp=2026-04-08T20\:21\:14Z
but alas a different log file said
2026-04-06 19:09:04: ERROR: No new files to process after two update cycles. Is fetch_osc.sh running?
I’ve now set it back to the previously reliable 8 hours, stopped and restarted, and it now says the expected "timestamp_osm_base": "2026-04-08T20:21:14Z". The best approach may actually be to just “turn it off and on again” in the early hours of the morning so that it has always processed last night’s data before 9am or so.
Edit: I’ve increased 8 hours to 16 as it fell on its posterior again this morning. Clearly a “proper” fix is needed.
Again thank you for doing this - and sharing the link!
It’s refreshing to be able to easily search for “X=Y and A=B” at the same time without the server saying “Computer says no”.
That said, there was momentary consternation at the slow update cycle with “Why is that still showing the old data? I fixed that an hour ago”. I suppose it is about managing limitations and expectations.