About the UK Bus Stop Finder

This tool makes it easier to find the ATCO code recorded for a UK public transport stop in NaPTAN, the Department for Transport stop dataset. ATCO codes are used by journey-planning services and integrations such as Home Assistant bus departure displays.

Search by postcode, street, place, ATCO code, or coordinates. Select a result to see its code, direction, coordinates and source fields. Bus routes come from OpenStreetMap, matched by ATCO code, and may be incomplete.

Shareable URL parameters

Use one search form at a time; selecting a stop replaces search parameters with its NaPTAN ATCO code (or OSM object ID).

You can also enter coordinates directly in the search box as latitude, longitude, for example 51.4545, -2.5879. Browser location searches produce a shareable lat/lon URL.

Using the map

Data and availability

Stops come from a locally imported NaPTAN download published by the Department for Transport. Only active stops with usable coordinates are shown, covering England, Scotland and Wales, not Northern Ireland. The snapshot is refreshed by the site operator; it is not a live departure feed. Contains public sector information licensed under the Open Government Licence v3.0.

Maps and bus routes use OpenStreetMap contributors' data. Place searches use Nominatim. Selecting a NaPTAN stop looks up OSM stops with the same ATCO code, then their bus route relations. A missing match or empty route list does not mean no buses serve the stop. Route queries use overpass.atownsend.org.uk, with Private.coffee as a fallback. These public services may occasionally be busy. Operators can also configure OSM as the stop source; existing OSM stop links continue to work.

Location and privacy

“Use my current location” asks the browser for permission. The coordinates are sent to this application to find nearby stops and appear in the shareable URL; the application does not intentionally persist search or location history. Requests to map tiles, Nominatim, and Overpass are subject to those services' own policies and operational logs.

Source code

The source code for this tool is available at git.4angle.com/edward/openstreetmap-tools.

JSON endpoints

The interface uses these endpoints. Errors have the form {"error": "code", "message": "text"}.

EndpointPurpose
GET {{ url_for('search') }}?q=…Search a place, coordinates, or ATCO code.
GET {{ url_for('stops') }}?lat=…&lon=…Stops within 1 km of a point.
GET {{ url_for('bounded_stops') }}?south=…&west=…&north=…&east=…Stops in a safely limited map area.
GET {{ url_for('naptan_detail', code='010000056') }}Active NaPTAN stop by ATCO code.
GET {{ url_for('naptan_routes', code='010000056') }}OSM bus routes matched by ATCO code.
GET {{ url_for('stop_detail', element_type='node', element_id=485403178) }}One stop by OSM type and ID.
GET {{ url_for('stop_routes', element_type='node', element_id=485403178) }}Stop-area-aware bus routes serving a stop.

Open the stop finder