Nominatim (OpenStreetMap)

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

MapsFreeחינמיללא מפתחקוד פתוח
Official siteDocumentation

About this API

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

How to use it

  1. 1
    GET nominatim.openstreetmap.org/search with the address.
  2. 2
    Send a User-Agent header identifying your project (required).
  3. 3
    Throttle to 1 req/sec.
  4. 4
    For higher traffic — self-host Nominatim in Docker.

Installation & setup

None for basic use. To self-host: `docker run -p 8080:8080 mediagis/nominatim:4.4 ...` — downloading the Israel extract takes about an hour.

Code examples

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

Sample response

[
  {
    "place_id": 123456,
    "lat": "31.7683",
    "lon": "35.2137",
    "display_name": "Jerusalem, Jerusalem District, Israel",
    "type": "city"
  }
]

FAQ

Yes, fully. But with strict rate limits on the public server.

Tips & pitfalls

Always cache — a street address doesn't change.
For >1K geocodes/day, self-host with Docker.

Guides

Related APIs