Nominatim (OpenStreetMap) beginner's guide — what it is, how it works, when to use it

With any new API, the hardest part is figuring out what it actually does and where it's useful. Let's start there.

What is Nominatim (OpenStreetMap)?

Completely free geocoding powered by OpenStreetMap — no key, no cost, with a rate limit.

Nominatim is OpenStreetMap's official geocoding service. Address ↔ coordinates, POI search and basic geographic data — all completely free. The public server is rate-limited (1 req/sec); for real traffic self-host Nominatim on Docker.

Who it's for

  • Side projects
  • MVPs
  • GIS analysts
  • Developers avoiding Google lock-in

A first example

Here is the shortest path to seeing something work:

curl -H "User-Agent: my-app/1.0 (me@example.com)" \
  "https://nominatim.openstreetmap.org/search?q=Jerusalem&format=json&limit=1"

When to use it, when not to

Nominatim (OpenStreetMap) is a great fit for most of what it covers, but not every case. If you only need small, static data once or twice, it may be simpler to download and cache locally. For real products that need fresh data, the API is the way.