Overpass query example

Features not edited for years (out meta)

With out meta, every result gets the version, time and user of its last edit. Example: shops in Bern that nobody has edited since 2020.

History queries are part of the Medium and Large plans. The result below runs on our server for this page.

With out meta;, every element comes with its version number, the time of its last edit, the user who made it and the changeset. timestamp() makes the time usable in filters.

This query finds the shops in Bern that nobody has edited since 2020: a list for a survey, to check that they still exist.

The query

[out:json][timeout:60];
area["name"="Bern"]["admin_level"="8"]["wikidata"="Q70"]->.a;
nwr["shop"](area.a)(if:date(timestamp())<date("2020-01-01"));
out center meta;

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. Another place called Bern also has admin_level 8. ["wikidata"="Q70"] picks the Swiss capital.
  2. timestamp() is the time of the last edit. date(…) turns a time into a number, so two times can be compared.
  3. (if:date(timestamp())<date("2020-01-01")) keeps the shops last edited before 2020.
  4. out center meta; adds the version, time and user to each result; the table shows them.

Variations

  • After a survey, a check_date tag with the date of the visit records that the shop is still there.
  • Edited by one user: (user:"…"). Changed in a period: (changed:"2025-01-01T00:00:00Z","2025-02-01T00:00:00Z"). Keep the period short: over a year, changed ran out of memory even on a small box.
  • Every version of one object: see every version of an object.

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 →