Overpass query example

Bus stops in a city

Find every bus stop in a city. Example: Helsinki.

Bus stops are points tagged highway=bus_stop. Many also carry the newer public_transport=platform tag, a name and a stop code in ref.

The query

[out:json][timeout:60];
area["name"="Helsinki"]["admin_level"="8"]->.a;
node["highway"="bus_stop"](area.a);
out;

Run it

Running the query…

Live result from overpass.ch, cached for up to 12 hours. Map data © OpenStreetMap contributors (ODbL).

How it works

  1. Finnish municipalities have admin_level 8.
  2. Stops on both sides of a street are usually separate points, one per direction.

Variations

  • Tram stops are railway=tram_stop; to get all stops use node["public_transport"="platform"].
  • Stops with a shelter: add ["shelter"="yes"].

Run it from your code

curl https://api.overpass.ch/v1/YOUR_API_KEY/interpreter \
  --data-urlencode 'data@query.overpassql'

Save the query as query.overpassql. It works the same in Overpass Turbo, QGIS and JOSM.

More examples

All examples →