Nominatim (OpenStreetMap)
Completely free geocoding powered by OpenStreetMap — no key, no cost, with a rate limit.
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
- 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.
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
Google Maps Platform
The industry-standard maps suite — Directions, Places, Geocoding, Street View and more.
Mapbox
Maps platform with strong emphasis on design and customization — the designer's alternative to Google Maps.
HERE Maps
Commercial maps API focused on logistics, truck routing, and fleet management.