Overpass query example

Steps and stairs in a city

Find every flight of steps in a city, useful for accessibility and routing. Example: hilly Lisbon.

Steps are ways tagged highway=steps. Extra tags give the number of steps (step_count) and whether there is a handrail or ramp.

The query

[out:json][timeout:60];
area["name"="Lisboa"]["admin_level"="7"]->.a;
way["highway"="steps"](area.a);
out geom;

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. Each flight of steps is one way, so the result is a set of short lines.
  2. out geom; returns the lines with coordinates.

Variations

  • Steps with a ramp for bicycles or prams: add ["ramp"="yes"].
  • Long staircases: (if: number(t["step_count"]) > 100).

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 →