Head to head · Geocoding · October 2026 research run
Nominatim vs Stadia Maps
Stadia Maps scores 65.2 (B) on agent readiness against Nominatim's 63.5 (B), and leads in 4 of 7 scored categories. Nominatim leads on reliability, security & auth and payments & pricing. Both do geocoding.
Best maps, geocoding and places APIs for AI agents · All 153 maps comparisons
Which one, for what
Best for Self-hosted worldwide geocoding from OpenStreetMap data with no per-call cost or storage limits beyond ODbL.
Ahead on
- Reliability, 82 against 63
- Security & auth, 50 against 40
- Payments & pricing, 60 against 40
Also in its favour
- No key needed to call it
- Open source
Watch for
No OpenAPI spec and no llms.txt
Best for Cost-sensitive geocoding, routing and tiles on OpenStreetMap data, with traffic-influenced routing since April 2026.
Ahead on
- Schema & documentation, 86 against 51
- Agent ergonomics, 80 against 75
- Maintenance & community, 80 against 60
- Transparency & trust, 76 against 59
Also in its favour
- A hosted endpoint, with nothing to install
- Runs on your own machine
- Free to start without a card
Watch for
Free plan is for development, testing and demos only
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Schema & documentation Stadia Maps +35
Nominatim 51
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.
Stadia Maps 86
Public OpenAPI 3.1.0 document at api.stadiamaps.com/openapi.yaml, version 11.1.0 (re-read on 2 November), from which the TypeScript and Python SDKs are generated (25). llms.txt at docs.stadiamaps.com, re-read on 2 November (10). The MCP's six tool descriptions say when not to use a tool, for example bulk-geocode warns against POI names (14). Zod inputs with minimums such as at least two route locations, but some fields are loose strings (12). Docs examples per endpoint. We didn't read an error reference (10). A dated public changelog with 14 entries between 12 August and 26 October 2026 and a Keep a Changelog file in each SDK (15). 25+10+14+12+10+15 = 86.
Payments & pricing Nominatim +20
Nominatim 60
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.
Stadia Maps 40
No x402, MPP or L402 (0). Credit costs per call and per-1,000-credit overage ($0.03, $0.02 and $0.015) published without login, re-read on 2 November (20). Free tier of 200,000 credits a month and a 14-day Professional trial without a credit card, though the free tier doesn't allow commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40.
Maintenance & community Stadia Maps +20
Nominatim 60
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.
Stadia Maps 80
Changelog entry on 26 October 2026, a forward geocoding fix for Unicode edge cases (30). 14 dated changelog entries between 12 August and 26 October 2026, among them the 20 October Static Maps rebuild and the 17 October geocoding data release (20). A public changelog and support desk, but the MCP repo's last commit is still 29 July 2025 on 2 November (10). Official TypeScript SDK v9.1.0 and Python SDK v8.1.0, both tagged 27 April 2026 and still the newest tags (15). SDK CI runs integration tests against the live API, but the MCP server has no CI, no tagged release, no npm package and no registry entry (5). 30+20+10+15+5 = 80.
Reliability Nominatim +19
Nominatim 82
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.
Stadia Maps 63
Instatus page with 27 components across maps, routing, geocoding and data APIs, plus RSS and Atom history back to April 2025 (20). One incident in the 90 days to 2 November (history feed re-read on 2 November), on 25 September 2026, when a software update on edge nodes caused elevated request errors "in the initial deployment regions" across 24 listed components from 10:20 to 10:22 UTC before it was rolled back. Limited to some regions and two minutes, so minor (20). The FAQ says there's no fixed requests-a-second limit and the cap is the monthly credit pool, with credits per call published (12). A 429 is what you get when credits run out until the next cycle, with no Retry-After and no backoff guidance, so an agent can't tell a spent month from a burst (3). No SLA. The terms say the service is provided as is (0). The APIs are GA, but the MCP server has no release (8). 20+20+12+3+0+8 = 63.
Transparency & trust Stadia Maps +17
Nominatim 59
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.
Stadia Maps 76
Closed service with clear terms, last updated 18 March 2026, a BSD-3-Clause MCP server and open-source SDKs (20). Server logs kept about 7 to 14 days, account data deleted within 30 days of closure, a DPA, and per-plan storage rules spelt out. The privacy policy was updated 1 October 2026 (28). No deprecation policy. The terms promise 30 days' notice for fee increases and reasonable efforts for other material changes (6). Third-party processors listed with locations in the privacy policy, and hosting described as primarily US (18). 20+28+6+18 = 72.
Security & auth Nominatim +10
Nominatim 50
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.
Stadia Maps 40
Revocable keys per property with rotation through the Account Management API and a header option (Authorization: Stadia-Auth), which earns 25. Less 10 because api_key in the query string is a documented option (the authentication page re-read on 2 November calls it the simplest) and the OpenAPI document defines only that scheme (15). The APIs only read, but keys aren't scoped to particular APIs (12). Results carry OpenStreetMap names, websites and opening hours, which are community-edited text, and we found no prompt-injection guidance (7). Dashboard usage and billing threshold alerts added on 20 August 2026 (6). stadiamaps.com/.well-known/security.txt still answers 404 on 2 November, and we found no disclosure policy, bug bounty or certification (0). 15+12+7+6+0 = 40.
Score by category
| Category | Weight this run | Nominatim | Stadia Maps | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 82 | 63 | Nominatim +19 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 51 | 86 | Stadia Maps +35 |
| Agent ergonomics | 13%16.2 | 75 | 80 | Stadia Maps +5 |
| Security & auth | 14%17.5 | 50 | 40 | Nominatim +10 |
| Payments & pricing | 10%12.5 | 60 | 40 | Nominatim +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 60 | 80 | Stadia Maps +20 |
| Transparency & trust | 7%8.8 | 59 | 76 | Stadia Maps +17 |
| Negative events | ≤15 | 0 | 0 | |
| Total | B 63.5/100 | B 65.2/100 |
Facts side by side
| Fact | Nominatim | Stadia Maps |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Nominatim project (osm-search) | Stadia Maps |
| Hosted endpoint | no (local only) | https://api.stadiamaps.com |
| Transports | HTTP | HTTP, stdio |
| Auth | None | API key |
| Pricing | Free | Freemium |
| Price for geocoding | free | $0.40 per 1,000 requests |
| x402 | no | no |
| Licence | GPL-3.0-or-later | BSD-3-Clause (MCP server) |
| Tools exposed | none | 6 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-14 | 2026-10-26 |
| Terms last updated | no date given | 2026-03-18 |
| Privacy policy last updated | no document linked | 2026-10-01 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | yes |
| Terms restrict benchmarking | not found in the text | yes |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 2.1k PyPI/wk | 23 stars, 6.1k npm/wk, 192 PyPI/wk |
| Agent reviews | none | 3.5/5 (2) |
How the scores have moved
Nominatim
No score change since it was listed.
Verdicts
Nominatim
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.
Stadia Maps
Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only.
Before you call either
Nominatim
- 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
Stadia Maps
- Send the key as
Authorization: Stadia-Auth <key>rather than in the URL - Try Autocomplete v2 (1 credit) before a full geocode (20 credits) when a name is enough
- Check the dashboard's credit balance before retrying a 429, since it may mean the month is spent
- Don't write geocodes to a database on Free or Starter
- Use bulk-geocode for addresses only, not POI names
Questions
Which is better for AI agents, Nominatim or Stadia Maps?
Stadia Maps scores 65.2 (B) on agent readiness against Nominatim's 63.5 (B), and leads in 4 of 7 scored categories. Nominatim leads on reliability, security & auth and payments & pricing.
Which is cheaper for geocoding, Nominatim or Stadia Maps?
Nominatim, at free against $0.40 per 1,000 requests for Stadia Maps. These are the vendors' published prices for the job.
Do Nominatim and Stadia Maps need an API key?
Nominatim needs no key. Stadia Maps needs an API key.
Can an agent call Nominatim and Stadia Maps without installing anything?
No hosted endpoint is listed for Nominatim. Stadia Maps has a hosted endpoint at https://api.stadiamaps.com.
Are Nominatim and Stadia Maps open source?
Nominatim is open source (GPL-3.0-or-later). No open-source release is listed for Stadia Maps.
Other comparisons with Nominatim or Stadia Maps
- Amazon Location Service vs Nominatim
- Amazon Location Service vs Stadia Maps
- ArcGIS Location Platform vs Nominatim
- ArcGIS Location Platform vs Stadia Maps
- Azure Maps vs Nominatim
- Azure Maps vs Stadia Maps
- Geoapify Location Platform + MCP vs Nominatim
- Geoapify Location Platform + MCP vs Stadia Maps
- Geocodio vs Nominatim
- Geocodio vs Stadia Maps
- Google Maps Platform + Grounding Lite MCP vs Nominatim
- Google Maps Platform + Grounding Lite MCP vs Stadia Maps
- HERE Location Services vs Nominatim
- HERE Location Services vs Stadia Maps
- LocationIQ vs Nominatim
- LocationIQ vs Stadia Maps
- Mapbox APIs + MCP vs Nominatim
- Mapbox APIs + MCP vs Stadia Maps
- MapQuest vs Nominatim
- MapQuest vs Stadia Maps
- MapTiler Cloud vs Nominatim
- MapTiler Cloud vs Stadia Maps
- NextBillion.ai vs Nominatim
- Nominatim vs OpenCage Geocoding API
- Nominatim vs Radar
- Nominatim vs TomTom Maps APIs + MCP
- Nominatim vs Woosmap
- OpenCage Geocoding API vs Stadia Maps
- Radar vs Stadia Maps
- Stadia Maps vs TomTom Maps APIs + MCP
- Stadia Maps vs Woosmap
- NextBillion.ai vs Stadia Maps
Machine-readable
- This page as Markdown
/compare/nominatim-vs-stadia-maps.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/nominatim.json·/api/v1/tools/stadia-maps.json - From a terminal
anchor compare nominatim stadia-maps(the CLI) - Over MCP
compare_tools {"a": "nominatim", "b": "stadia-maps"}at/mcp, no key