{"rid":"data-apis/nominatim","card":{"rid":"data-apis/nominatim","eid":"osmfoundation","topic":"data-apis","slug":"nominatim","provider":"Nominatim (OpenStreetMap Foundation public instance)","url":"https://operations.osmfoundation.org/policies/nominatim/","domain":"osmfoundation.org","category":"geocoding API","tier":"public instance at nominatim.openstreetmap.org","verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","self_hosted":0,"confidence":"documented","binding":"request-rate","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-31T00:48:53.808Z","verified_basis":"live","checked_on":"2026-10-31","stale_on":"2026-12-01","n_evidence":18,"usd_month":null,"usd_per_tb_month":null,"summary":"no request count and no key: an absolute maximum of 1 request per second per application, summed over all its users; a script running longer than a day or at...","duplicate_of":null,"n_unknown":2,"free_unit":"requests"},"record":{"topic":"data-apis","slug":"nominatim","provider":"Nominatim (OpenStreetMap Foundation public instance)","url":"https://operations.osmfoundation.org/policies/nominatim/","category":"geocoding API","tier":"public instance at nominatim.openstreetmap.org","free_tier":{"stated":"no request count and no key: an absolute maximum of 1 request per second per application, summed over all its users; a script running longer than a day or at regular intervals is held to 4 requests per minute, from a single thread on one machine","unit":"requests","metered_on":"none","source_url":"https://operations.osmfoundation.org/policies/nominatim/","read_on":"2026-10-30","notes":"a rate ceiling, not a metered quota; the service runs on donated servers with a very limited capacity, and the policy may change without notice"},"per_object_cap":{"stated":"one query per request, returning at most 40 results","bytes":null,"source_url":"https://nominatim.org/release-docs/latest/api/Search/"},"retention":{"stated":null,"days":null,"source_url":"https://operations.osmfoundation.org/policies/nominatim/","notes":"the answer carries the licence line \"Data © OpenStreetMap contributors\""},"egress":{"terms":"not applicable: a query API, not metered in bytes","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://operations.osmfoundation.org/policies/nominatim/"},"interface":["rest"],"interface_detail":"HTTPS GET to nominatim.openstreetmap.org/search (and /reverse, /lookup) with format=json, jsonv2, geojson, geocodejson or xml; no key; a valid HTTP Referer or an application User-Agent is required; without a format parameter the public instance answers with the web page","endpoint":"https://nominatim.openstreetmap.org/search","tooling":"any HTTP client that sets an identifying User-Agent or Referer; the policy asks apps to go through a caching proxy","chaining":"a keyless geocoder for low-volume, user-triggered lookups at 1 request a second; a stored data set of more than a few thousand addresses goes to a keyed provider with storable results (data-apis/geoapify, data-apis/opencage, data-apis/maptiler). Bulk path: no bulk geocoding (systematic queries are banned); the raw data is the weekly OSM planet file (89 GB PBF) or a regional extract. The last resort is self-hosted: the Nominatim software, which the user installs and runs on a rented machine with an imported planet or extract","limits":[{"kind":"request-rate","value":"1 request per second at most, summed over every user of an application","source":"https://operations.osmfoundation.org/policies/nominatim/"},{"kind":"request-rate","value":"4 requests per minute for a script that runs longer than a day or at regular intervals; one thread on one machine","source":"https://operations.osmfoundation.org/policies/nominatim/"},{"kind":"per-object-cap","value":"at most 40 results for one search","source":"https://nominatim.org/release-docs/latest/api/Search/"}],"limits_note":"auto-complete search, systematic queries (reverse queries in a grid, complete lists of postcodes or towns, all POIs in an area) and scraping of the details page are banned outright","binding":"request-rate","binding_note":"there is no counted quota, so the 1 request per second ceiling, and 4 per minute for a long-running script, is the whole capacity","identity_cost":{"kind":"anonymous","detail":"no account and no key; each request carries a valid HTTP Referer or a User-Agent that identifies the application, since stock library User-Agents are refused by the policy","country":null},"reliability_note":"a requester that sends the same query repeatedly may be classed as faulty and blocked, a banned use (auto-complete, systematic queries, scraping of the details page) leads to a ban, and access can be withdrawn when the definition of heavy use changes","confidence":"documented","confidence_note":"the rate ceiling is documented and was not exercised.","evidence":[{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"the public instance allows at most 1 request per second","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- No heavy uses (an absolute maximum of 1 request per second)."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"a valid Referer or an identifying User-Agent is required","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- Provide a valid HTTP Referer or User-Agent identifying the application (stock User-Agents as set by http libraries will not do)."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"the limit applies per application, summed over its users","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"Note that the usage limits above apply per website/application: the sum of traffic by all your users should not exceed the limits."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"long-running or periodic scripts are held to 4 requests per minute","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- Scripts running longer than a day and scripts that are run at regular intervals are restricted to 4 requests per minute."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"bulk requests are limited to a single thread","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- limit your requests to a single thread"},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"bulk results must be cached, and repeated identical queries can be blocked","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- Results must be cached on your side. Clients sending repeatedly the same query may be classified as faulty and blocked."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"systematic queries are banned and complete data sets come from the planet file","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"If you need complete sets of data, get it from the [OSM planet](https://planet.openstreetmap.org/) or an extract."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"auto-complete search on the public instance is banned","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"- Auto-complete search This is not yet supported by Nominatim and you must not implement such a service on the client side using the API."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"access can be withdrawn when the definition of heavy use changes","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"In particular, the definition of heavy use may need to be modified in the future and you might have your access withdrawn."},{"url":"https://operations.osmfoundation.org/policies/nominatim/","date":"2026-10-30","proved":"the service runs on donated servers with very limited capacity","capture":"sha256:8ae65e6264a9e78441e9be396259b6ab3083ce4fddbb7432a19b9e34d8693b67","quote":"However, be aware that the service runs on donated servers and has a very limited capacity."},{"url":"https://nominatim.org/release-docs/latest/api/Search/","date":"2026-10-30","proved":"one search returns at most 40 results","capture":"sha256:214dd5c72684d07754f3c545dbc600fbee2dc29e97e97a840905e8eb9b53f0a5","quote":"Limit the maximum number of returned results. Cannot be more than 40."},{"url":"https://nominatim.org/release-docs/latest/api/Search/","date":"2026-10-30","proved":"the output formats offered","capture":"sha256:214dd5c72684d07754f3c545dbc600fbee2dc29e97e97a840905e8eb9b53f0a5","quote":"| format | one of: `xml`, `json`, `jsonv2`, `geojson`, `geocodejson` | `jsonv2` |"},{"url":"https://www.openstreetmap.org/copyright","date":"2026-10-30","proved":null,"capture":"sha256:8bbe1273acdc20549fd92172881e75be80bd197cf6a5cc63b4c1f3b008da0b18","quote":"You are free to copy, distribute, transmit and adapt our data, as long as you credit OpenStreetMap and its contributors."},{"url":"https://planet.openstreetmap.org/","date":"2026-10-30","proved":"the weekly planet PBF file is 89 GB","capture":"sha256:6e07677e9bbfe0e773a21b54f53d19b17433ae56ccd0a84a3d0c0627299e3e58","quote":"89 GB, created 21 hours ago."},{"url":"https://planet.openstreetmap.org/","date":"2026-10-30","proved":"a complete copy of OSM data is published every week","capture":"sha256:6e07677e9bbfe0e773a21b54f53d19b17433ae56ccd0a84a3d0c0627299e3e58","quote":"Each week, a new and complete copy of all data in OpenStreetMap is made available as both a compressed XML file and a custom PBF format file."},{"url":"https://nominatim.org/release-docs/latest/admin/Installation/","date":"2026-10-30","proved":"the Nominatim software can be installed by the user; a full planet import takes days","capture":"sha256:28ae966d339f7d0f1f4e30110c4362cf95a72640c13088f14f5b131a134f809d","quote":"Even on a well configured machine the import of a full planet takes around 2.5 days."},{"url":"probe:https://nominatim.openstreetmap.org/search?q=Zurich","date":"2026-10-30","proved":"an anonymous search with no key answered HTTP 200","capture":"sha256:20f292556dd2cb145d0ae96602656d9cd60f7eab3a2c749f21d7d724990710cb","quote":"\"status\": 200"},{"url":"probe:https://nominatim.openstreetmap.org/search","date":"2026-10-30","proved":"the anonymous answer is a real geocode with coordinates","capture":"sha256:39b28164fb94d386cdc64f6af470d1d1c9c99570fdcee67df1bf7200d4a57d2c","quote":"\"lat\":\"47.3744489\",\"lon\":\"8.5410422\""}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-31T00:48:53.808Z","self_hosted":false,"notes":"The hosted public instance of the Nominatim software. Bulk path: no bulk geocoding on the public instance; the raw data is the weekly OSM planet file or an extract.","extras":{"bulk_path":"no bulk geocoding; raw OSM data from the weekly planet file (89 GB PBF) or regional extracts"}},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":1,"unit":"request","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":1,"unit":"request","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":4,"unit":"requests","per":"minute","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:per-object-cap","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.evidence[12].proved","withheld"],["$.retention.stated","withheld"]],"history":[],"drift":[]}