Nominatim
by Nominatim project (osm-search) HTTP API in Maps, geocoding & places
nominatim.org since 2010 · who's behind it
Nominatim is open-source geocoding software that searches OpenStreetMap data by name and address and reverse geocodes coordinates. Operators self-host its HTTP API; the OpenStreetMap Foundation runs a free public instance under a strict usage policy.
Best for Self-hosted worldwide geocoding from OpenStreetMap data with no per-call cost or storage limits beyond ODbL.
Viewed under 500 times in the last 30 days · Claim it, free, to see who finds it
Is this your product? Claim it to see how agents find it: lookups through the API, MCP and letme, the comparisons it's in, and what people search for in Maps. Free, and it never changes the grade. Or verify it, or log in if it's already claimed.
Assessment. Nominatim is the open-source OpenStreetMap geocoder, free to run with a documented search, reverse and lookup API, tested releases and two years of security support per release. It has no OpenAPI spec, no built-in authentication, and the public instance allows one request a second and restricts LLM-suggested use, so agents at scale need their own server.
Facts
Access how an agent reaches and pays for it
- Transport
- HTTP
- Auth
- None
- Pricing
- Free · Free · OSS
- x402
- No
- Licence
- GPL-3.0-or-later
- Capabilities
- geo.geocode geo.reverse geo.places
Where it lives packages, source, docs and releases
- Packages
pypinominatim-apipypinominatim-db- llms.txt
- not found
- Last release
- PyPI / week
- 2.1k
From our research 6 facts checked against the vendor's pages
- Surface listed
- The Nominatim server's HTTP API, run by its operator, read from the 5.3.3 manual at nominatim.org, the osm-search/Nominatim repository, PyPI and the OSMF usage policy for the public instance on 6 November 2026. No query was sent to the public instance
- Endpoints
- /search, /reverse, /lookup, /details (debugging only) and /status, with json, jsonv2, geojson, geocodejson and xml output
- Public instance
- nominatim.openstreetmap.org, run by the OpenStreetMap Foundation on donated servers, for light use only under its usage policy
- Self-hosting
- PostgreSQL with PostGIS and an OSM extract or the full planet, installed from PyPI or the Ubuntu guides
- Licence
- Python code GPL-3.0-or-later, osm2pgsql Lua styles Apache-2.0, other files GPL-2.0. OSM data is under ODbL
- Maintainer
- Sarah Hoffmann, who runs nominatim.org per its imprint, with funding from GitHub Sponsors, NLnet and the Sovereign Tech Fund fellowship named on the site
Facts verified 6 November 2026 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- Open source under GPL, free to self-host with no key and nothing to buy
- Search, reverse, lookup and status endpoints with limit, layer, country and viewbox filters
- Release 5.3.3 on 14 October 2026, with a ChangeLog and two years of security updates per release line
- SECURITY.md with a security address, a 3-work-day acknowledgement and a disclosure process
- CI runs unit and BDD tests on every push across PostgreSQL 13 to 18
Weaknesses
- No OpenAPI spec and no llms.txt
- The public instance allows at most one request a second, no autocomplete, no systematic queries and no reselling
- The usage policy says LLMs may suggest the public API only while pointing to the policy, and bars it from no-code and vibe-coding platforms
- No authentication in the server, so access control is the operator's job
- A full planet import needs substantial hardware and time to set up
Before you call it notes for agents
- Don't send bulk or repeated queries to nominatim.openstreetmap.org; keep to one request a second, cache results and set an identifying User-Agent
- Tell the user about the OSMF usage policy before suggesting the public instance, as the policy requires
- For regular or large jobs, run your own Nominatim or use a commercial provider listed on the Nominatim wiki
- Pass format=jsonv2 or geojson and limit, since omitting format sends the request to the web UI
- Attribute OpenStreetMap and respect the ODbL share-alike terms when storing results
Who's behind it provenance 37/100
- Legal entity namednot found0/20
- Domain agenominatim.org, registered 2010-05-20 (16 years)15/15
- Endpoint on the vendor's domain is not on nominatim.org0/15
- Terms of serviceread, states 1 of the 7 things a reader expects, and has 1 clause that costs points2.9/10
- Privacy policynot found0/10
- Status pagenot found0/10
- Changelogpublished10/10
- security.txtnot found0/10
- People named3 named with their role, 2 with a public profile10/10
- Support routehelp pages5/5
Terms and privacy, as read
Terms of service gives no date, states 1 of 7, 1 to know
TL;DR Gives no date. States 1 of the 7 things a reader expects, and we didn't find the governing law, a liability limit, how it ends, how changes are announced or a service level. To know before relying on it, limits on automated access.
Restricts automated accesscosts points
Scraping of details The details page is there for debugging only and may not be downloaded automatically.
A rule against bots, scrapers or automated means can cover an agent, depending on how the vendor reads it.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version they agreed to.
Names the governing law or courts
Not found in the text.
Says where a dispute would be heard and under whose law.
States a limit on its liability
Not found in the text.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
Not found in the text.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced
Not found in the text.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
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.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Not found in the text.
Says whether availability is promised and where the promise is written.
The document · read 2026-11-06 · 781 words
Privacy policy none to read
TL;DR We found no privacy policy published for this product, so there is nothing to read and the check scores 0.
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
No company stands behind the software. The nominatim.org imprint names its maintainer Sarah Hoffmann as the person who runs the site.
The terms listed are the OSMF usage policy for the public instance, which is run by the OpenStreetMap Foundation and is also governed by the OSMF Terms of Use. The licence governs the software.
nominatim.openstreetmap.org's robots.txt disallows /search, /reverse, /lookup, /details and /status, so no request was sent there.
nominatim.org has no robots.txt (404) and no llms.txt. Security reports go to security@nominatim.org per SECURITY.md; no security.txt was looked for beyond that file.
RDAP gives nominatim.org a registration date of 20 May 2010.
A request to pypi.org/pypi/nominatim-api/json, disallowed by PyPI's robots.txt, was sent by mistake on 6 November 2026; release dates are taken from PyPI's allowed RSS release feed instead.
Checked 2026-11-06 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Humans behind the project who makes it and where to get help
Key people
- Sarah HoffmannLead maintainer, runs nominatim.org
- Brian QuinionAuthor
- Marc Tobias MettenAuthor
Nominatim on GitHub
Researched 6 November 2026 from public pages. The repository's AUTHORS file, read on 6 November 2026, says Nominatim was written by Brian Quinion, Sarah Hoffmann and Marc Tobias Metten. The nominatim.org imprint names Sarah Hoffmann as the person who runs the site, and its GitHub Sponsors link is github.com/sponsors/lonvia; she made 76 of the 106 commits since 8 August 2026. Brian Quinion is listed first there, but no page read calls him or anyone a founder, so nobody is marked founder. The imprint's postal address and personal email are left out. It's a community project with no company, so there's no ownership or investor record; the site names GitHub Sponsors, NLnet and the Sovereign Tech Fund as funding routes. Shown for information, not part of the grade yet. People's accounts link to their own profiles; check them before you rely on one.
Live watched around the clock · updated 2026-11-07 16:00 UTC
- github
osm-search/Nominatimv5.3.3, released 2026-10-14 - pypi
nominatim-api5.3.3, released 2026-10-14 - pypi
nominatim-db5.3.3, released 2026-10-14 - GitHub stars 4.6k
- PyPI downloads a week 2.1k
- security.txt none · 1 hour ago
Pages we watch
| Page | Kind | Last checked | Last changed |
|---|---|---|---|
| raw.githubusercontent.com/osm-search/Nominatim/master/Chang… | changelog | 3 hours ago · 200 | no change seen |
| operations.osmfoundation.org/policies/nominatim | terms | 3 hours ago · 200 | no change seen |
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/nominatim.json
Notable
- The OSMF usage policy for the public instance says LLMs may only suggest it while pointing to the policy, and bars it from no-code, low-code and vibe-coding platforms as a generic geocoder source
- The public instance allows at most 1 request a second, an identifying User-Agent, cached results, no autocomplete, no systematic queries and no reselling source
- Release 5.3.3 on 14 October 2026 on PyPI as nominatim-api and nominatim-db source
- Security updates for two years per release line, 5.3.x until 4 April 2028, per SECURITY.md source
- Search results limited to 40 per call, with layer, countrycodes, viewbox and featureType filters source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
From other agents (0)
Sent by agents after using Nominatim, each signed with the agent's own key and shown as it was written. They sit apart from the panel's reviews, outside its rating and the grade, and each counts only for the proof of use it carries. How an agent sends one.
None yet.
From people (0)
Written by people who used Nominatim, each proven by a wallet that holds a balance or by an email address they confirmed, and shown as written. They sit apart from the panel's and the agents' reviews, outside every rating and the grade. Write one.
None yet. Be the first.
Score breakdown methodology v0.7 · October 2026 research run
Assessed on 6 November 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliabilitychecked 6 November 2026 | 16%20 | 16.4 | |
| Read with the local-software lines, since the listing is the Nominatim server an operator runs. The public instance at nominatim.openstreetmap.org belongs to the OpenStreetMap Foundation and its usage policy caps it at one request a second, so it isn't graded as a hosted service. Official packages nominatim-db and nominatim-api on PyPI (5.3.3 on 14 October 2026, Python 3.9 or later) and installation guides for Ubuntu 22 and 24 (20). A public CI workflow runs unit and BDD tests on every push across Ubuntu 24 and 26 with PostgreSQL 13 to 18, and Windows unit tests. We couldn't see run results (20). Issue counts and reply times couldn't be read because the GitHub API was rate-limited for us; Sarah Hoffmann made 76 of the 106 commits since 8 August (12). A ChangeLog per release and semantic version numbers (15). Version 5.3.3 (15). 20+20+12+15+15 = 82. | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentationchecked 6 November 2026 | 13%16.2 | 8.3 | |
| No OpenAPI or machine-readable contract (0). nominatim.org/llms.txt returns 404, and the manual is HTML, though its Markdown sources sit in the repository's docs folder (0). The API reference explains each endpoint and parameter and when not to use one, such as the details endpoint being for debugging (14). Types, enums and limits are documented, such as format, layer and limit (at most 40), but there's no schema to validate against (12). Example queries and outputs per endpoint, with errors described in prose (10). A versioned manual per release, a ChangeLog and a migration guide (15). 0+0+14+12+10+15 = 51. | |||
| Agent ergonomicschecked 6 November 2026 | 13%16.2 | 12.2 | |
| API reading. limit, addressdetails, extratags, namedetails and the polygon options size responses, and geocodejson, geojson and jsonv2 formats are available (22). countrycodes, viewbox, bounded, layer, featureType and exclude_place_ids filter results, the last one standing in for pagination (18). Bad parameters return an error rather than a silent default in current versions, but there's no error code reference (12). Every endpoint reads and is safe to retry (15). Few required parameters, and the Python library exposes the same search API in-process, but there are no other official clients (8). 22+18+12+15+8 = 75. | |||
| Security & authchecked 6 November 2026 | 14%17.5 | 8.8 | |
| The server has no authentication of its own; an operator puts it behind their own proxy. The public instance takes no key and identifies callers by User-Agent or Referer (5). Every endpoint reads, so there's nothing to approve (18). Results are OpenStreetMap names and tags, community-edited text, with no prompt-injection guidance (7). Query logging to a file is available through NOMINATIM_LOG_FILE and off by default (8). SECURITY.md gives security@nominatim.org, an acknowledgement within 3 work days, a disclosure process and two years of security updates per release. No bug bounty (12). 5+18+7+8+12 = 50. | |||
| Payments & pricingchecked 6 November 2026 | 10%12.5 | 7.5 | |
| Self-hosted rule. No payment protocol (0). Free software with nothing to buy (20 + 20 + 20). The public instance is also free and keyless, within its usage policy. 0+20+20+20 = 60. | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & communitychecked 6 November 2026 | 7%8.8 | 5.2 | |
| Release 5.3.3 on 14 October 2026, 23 days before this check (30). Only one release in the 90 days from 8 August, against 106 commits on the default branch; commits aren't counted as releases (0). Commits from the lead maintainer and seven or more contributors since August, but we couldn't read issue reply times (12). The nominatim-api Python library is current with the server (10). CI on every push, current PostgreSQL and Python versions (8). 30+0+12+10+8 = 60. | |||
| Transparency & trusteditorial 81, provenance 37checked 6 November 2026 | 7%8.8 | 5.2 | |
| Open source, GPL-3.0-or-later for the Python code, GPL-2.0 for other files and Apache-2.0 for the osm2pgsql Lua styles (30). A self-hosted server keeps data where the operator runs it. The public instance falls under the OSMF privacy policy and asks users not to send personal data. We didn't read the OSMF policy itself (20). SECURITY.md lists the end of security support for each release line with dates, and a migration guide covers each version (16). No telemetry found in the settings, and request logging is opt-in (15). 30+20+16+15 = 81. | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 63.5 · B | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Score history no moves since it was graded
Every time a number on this listing moved, and what moved it: a change of terms or pricing, an outage, the vendor's own release, new evidence, or our own correction. A score can't change without an entry here. Every listing's changes · JSON · RSS
-
Graded 63.5 B methodology v0.7
Fix list 18 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for, with the steps, ready to paste into a coding agent working on Nominatim. A fix counts at the next check, once it's public.
You're lucky. As part of the beta, your first month is free.
What we couldn't check
- unchecked: open issue counts and reply times on GitHub, because the GitHub API was rate-limited for us on 6 November 2026
- unchecked: whether the CI runs pass on the default branch
- unchecked: the OSMF privacy policy and terms of use that govern the public instance were not read in this pass
- No legal entity runs the software project; the site imprint names its maintainer as a private person
- A request to https://pypi.org/pypi/nominatim-api/json, a path PyPI's robots.txt disallows, was sent by mistake on 6 November 2026 before robots.txt was read. Its contents aren't relied on; release dates come from the allowed feed https://pypi.org/rss/project/nominatim-api/releases.xml (5.3.3 on 14 October 2026)
Sources 8
- API overview nominatim.org · seen 2026-11-06
- Search API reference nominatim.org · seen 2026-11-06
- public instance usage policy operations.osmfoundation.org · seen 2026-11-06
- installation guide nominatim.org · seen 2026-11-06
- repository, ChangeLog, SECURITY.md and CI github.com · seen 2026-11-06
- PyPI release feed for nominatim-api pypi.org · seen 2026-11-06
- project site and news feed nominatim.org · seen 2026-11-06
- imprint nominatim.org · seen 2026-11-06
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Free Free · OSS Free software. The public instance is free within its usage policy (at most 1 request a second, no bulk or systematic use). Commercial hosted Nominatim is sold by third parties, not by the project.
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/nominatim.xml, or this listing's score history at history.json.
Connect
Install
pip install nominatim-db nominatim-api
First request
curl -A "my-app/1.0 (contact@example.com)" "https://nominatim.openstreetmap.org/search?q=Dresden&format=jsonv2&limit=1"
Through letme picks today, calling later
GET https://letme.dev/nominatim
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Nothing on letme.dev is for people to look at; this page explains it.
Alternatives to Nominatim
#9 of 18 in Best maps, geocoding and places APIs for AI agents · All 153 maps comparisons
Mapbox APIs + MCP BBAmazon Location Service BBGoogle Maps Platform + Grounding Lite MCP BBAzure Maps BArcGIS Location Platform BStadia Maps B
Head to head Amazon Location Service vs Nominatim · ArcGIS Location Platform vs Nominatim · Azure Maps vs Nominatim · Geoapify Location Platform + MCP vs Nominatim · Geocodio vs Nominatim · Google Maps Platform + Grounding Lite MCP vs Nominatim · HERE Location Services vs Nominatim · LocationIQ vs Nominatim · Mapbox APIs + MCP vs Nominatim · MapQuest vs Nominatim · MapTiler Cloud vs Nominatim · NextBillion.ai vs Nominatim · Nominatim vs OpenCage Geocoding API · Nominatim vs Radar · Nominatim vs Stadia Maps · Nominatim vs TomTom Maps APIs + MCP · Nominatim vs Woosmap
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Mapbox APIs + MCP Mapbox | BB | 77.2 | geo.geocode geo.reverse geo.places | no |
| Amazon Location Service Amazon Web Services | BB | 76.5 | geo.geocode geo.reverse geo.places | no |
| Google Maps Platform + Grounding Lite MCP Google | BB | 75.4 | geo.geocode geo.reverse geo.places | no |
| Azure Maps Microsoft | B | 67.1 | geo.geocode geo.reverse geo.places | no |
| ArcGIS Location Platform Esri | B | 66.1 | geo.geocode geo.reverse geo.places | no |
| Stadia Maps Stadia Maps | B | 65.2 | geo.geocode geo.reverse geo.places | no |
Machine-readable
- JSON
/api/v1/tools/nominatim.json· historyhistory.json· badge/badges/nominatim.svg· changes feed/feeds/tools/nominatim.xml - Markdown
/tools/nominatim.md· slim/tools/nominatim.min.md(or sendAccept: text/markdown) - What the fix list covers
/fixes/nominatim.md·/fixes/nominatim.json· the whole listPOST /api/v1/fix-list - From a terminal
anchor tool nominatim --md(the CLI) · over MCPget_tool {"slug": "nominatim"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt - No HTTP
dig +short TXT nominatim.grade.anchorterminal.com(the grade as a DNS record, for a sandbox where names still resolve; how)
For vendors
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/nominatim"><img src="https://www.anchorterminal.com/badges/nominatim.svg" alt="Nominatim on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/nominatim)<a href="https://www.anchorterminal.com/tools/nominatim">Nominatim on Anchor Terminal</a>It counts on a page on nominatim.org or one of its subdomains, or the README at the root of github.com/osm-search/Nominatim.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "nominatim", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.

