How to use Nominatim (OpenStreetMap) — a practical guide
If you're here, you probably want working code in five minutes. That's exactly what this guide does.
Five steps to get started
- 1GET nominatim.openstreetmap.org/search with the address.
- 2Send a User-Agent header identifying your project (required).
- 3Throttle to 1 req/sec.
- 4For higher traffic — self-host Nominatim in Docker.
Shortest snippet that will actually run
curl -H "User-Agent: my-app/1.0 (me@example.com)" \
"https://nominatim.openstreetmap.org/search?q=Jerusalem&format=json&limit=1"Common mistakes (the honest list)
Always cache — a street address doesn't change.
For >1K geocodes/day, self-host with Docker.