Geocoding · head-to-head

Nominatim vs OpenStreetMap

Nominatim

Nominatim provides worldwide forward and reverse geocoding built entirely on OpenStreetMap data, needing no API key — only a descriptive User-Agent or Referer header identifying the calling application (the policy states a stock HTTP-library User-Agent will not do). The public instance at nominatim.openstreetmap.org mainly exists to power the search bar on openstreetmap.org and runs on donated servers with very limited capacity: its usage policy caps requests at an absolute maximum of 1 per second, forbids autocomplete-style querying outright, and requires results to be cached on the caller's side. Bulk geocoding is restricted rather than banned — a smaller one-time task is permissible on a single thread and a single machine, with distributed scripts disallowed and anything running longer than a day capped at 4 requests per minute. The policy points larger users first at commercial third-party providers, and the largest at running their own Nominatim instance.

OpenStreetMap

The core OpenStreetMap API serves and edits the raw map database underlying OSM — nodes, ways, and relations — over HTTPS at api.openstreetmap.org. Reading map data requires no authentication at all, while creating or modifying data requires an OAuth 2.0 token tied to an OSM account (the older Basic Auth/OAuth 1.0a login methods were retired in June 2024). It's a general-purpose data API rather than a geocoding service specifically — OSM points address-lookup users to the separate Nominatim service, and bulk-read users to Overpass.

NominatimOpenStreetMap
AuthenticationNoneNone
Pricingfreefree
FormatsJSON, XML, GeoJSONXML, JSON
CORSyesyes
HTTPSYesYes

Nominatim supports 3 response formats, while OpenStreetMap offers fewer — pick Nominatim for more integration flexibility.

More comparisons