Find deleted OpenStreetMap objects in an area, using the ohsome API. A static single-page app — no backend.
Pick an area, a time range, and an ohsome filter → get every object that was deleted, each linked to
its OpenStreetMap history (who deleted it, when, in which changeset). Replaces the manual
"download GeoJSON → QGIS → filter @deletion" workflow.
- Filter — an ohsome filter, e.g.
amenity=bench and type:node. - Time range — from/to (or the "last month/year" shortcuts).
- Area — draw a box on the map, or type coordinates.
- Find deletions — results show in a table and on the map.
Every input lives in the URL, so any query is a shareable link. Example query: https://osmberlin.github.io/osm-find-deleted-data/?z=15.56&lat=52.47502&lng=13.42067&filter=amenity%3Dbench&from=2024-04-01&to=2026-06-19&bbox=%5B13.41291,52.472494,13.420682,52.476229%5D
- Map location: a deletion contribution has no geometry (the object is gone). Its marker is derived from the object's earlier creation/edit if that falls inside your time range — otherwise it's listed (flagged ⚑) without a marker. Widen the start date to capture creations.
- Editor: ohsome doesn't expose usernames; the table links the changeset, which reveals the user on openstreetmap.org.
- Queries run only on Find deletions (never on keystroke) and are cached, so each search hits ohsome at most once.
WAMY is a dedicated analysis for deleted ways (this app is more general but derives way locations less reliably). Mind the data age — check when the dataset was last built on its about page.
- Code: https://codeberg.org/nakaner/deleted-map
- Talk (German): FOSSGIS 2026 — Wo sind meine Ways geblieben?
Alternatively, query Overpass at a past date and load a tiny area: at that date the
now-deleted objects still existed, so they show up. This uses the [date:...] setting, which needs an
Overpass instance with attic (historical) data, e.g. the main overpass-api.de.
Same area and filter as the example query above, at the start date:
[out:json][timeout:25][date:"2024-04-01T00:00:00Z"];
node[amenity=bench](52.472494,13.41291,52.476229,13.420682);
out geom;- Run it in Overpass Turbo.
- Docs: Overpass QL (the
[date:…]setting) and Overpass API — attic/historical data.
bun install
bun run dev # http://localhost:5173
bun run check # lint + typecheck + unit tests + build
bun run test:e2e # Playwright (fully mocked — no external calls)Stack: Bun · Vite · React 19 · TanStack Router (SPA) + Query · Zod · Tailwind · react-map-gl/maplibre + OpenFreeMap · oxlint · Vitest · Playwright. Follows the FixMyBerlin tech-stack skill in its client-only profile.
Push to main → GitHub Actions builds and publishes to GitHub Pages
(enable once under Settings → Pages → Source: GitHub Actions). The Vite base is
/osm-find-deleted-data/; for a custom domain or user page set it to / in vite.config.ts.
Thanks to HeiGIT for the preprocessed OSM history data.