Nominatim (OpenStreetMap Geocoding)
Free, open-source geocoder built on OpenStreetMap data for converting addresses to coordinates and coordinates to addresses, available as a hosted public API or self-hosted service.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
No auth required for public API. Rate limits enforced (1 req/sec for public instance). Self-hosted for production use. OpenStreetMap data. GDPR-compliant (no user data stored). Use their fair use policy.
⚡ Reliability
Best When
You're building an open-source or non-commercial application that needs free geocoding, or you can self-host Nominatim for unlimited internal use.
Avoid When
You need production-grade SLAs, commercial use at scale, or high-accuracy geocoding in regions with sparse OSM coverage.
Use Cases
- • Free geocoding for development, prototyping, and small-scale production use
- • Self-hosted geocoding for organizations requiring data sovereignty
- • Address lookup in open-source and non-commercial applications
- • Reverse geocoding in offline or air-gapped environments (self-hosted deployment)
- • Bulk geocoding when self-hosting to avoid per-request costs
Not For
- • High-throughput commercial applications (public instance limited to 1 req/second, no SLA)
- • Applications requiring consistent high accuracy in less-mapped regions
- • Production use on the public OSM Nominatim instance (violates usage policy for commercial use)
- • Address validation for shipping — OSM coverage varies too much for business-critical use
Interface
Authentication
Public Nominatim instance requires no API key but mandates a valid User-Agent header identifying your application. Usage policy requires non-commercial use and max 1 req/second. Self-hosted instances have no auth by default.
Pricing
Completely free to use and self-host. For commercial production use at scale, either self-host or use a commercial geocoding API like OpenCage (which wraps Nominatim with an SLA).
Agent Metadata
Known Gotchas
- ⚠ CRITICAL: Commercial use of the public Nominatim instance violates usage policy — must self-host for commercial applications
- ⚠ Must include a valid User-Agent header — requests without it get blocked by the public instance
- ⚠ 1 req/second rate limit on public instance — agents must throttle requests explicitly
- ⚠ No API key means no way to increase limits — must self-host for higher throughput
- ⚠ Query format is different from other geocoding APIs — uses 'q' parameter for free-form, or street/city/country for structured
- ⚠ Empty result set (no matches) returns HTTP 200 with empty array — agents must check result count
- ⚠ Self-hosted setup requires significant disk space (100+ GB for planet import) and RAM
Alternatives
Full Evaluation Report
Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Nominatim (OpenStreetMap Geocoding).
Scores are editorial opinions as of 2026-03-06.