OpenCage Geocoding API
Forward and reverse geocoding API aggregating multiple open data sources including OpenStreetMap and Geonames.
🟢 Online · 1318 ms
72.4%
2,500 calls/day, free key, no credit card
API key
Free alternatives (live ranking)
- Nominatim (OpenStreetMap) — 🟢 Online · 1 req/sec, must set User-Agent, no key
- ip-api.com — 🟢 Online · 45 calls/min (HTTP only), no key, no credit card
- IPinfo — 🟢 Online · 50,000 calls/month, no key (token extends limits)
Compare OpenCage Geocoding API with…
- OpenCage Geocoding API vs Nominatim (OpenStreetMap) — 1 req/sec, must set User-Agent, no key
- OpenCage Geocoding API vs ip-api.com — 45 calls/min (HTTP only), no key, no credit card
- OpenCage Geocoding API vs IPinfo — 50,000 calls/month, no key (token extends limits)
Paid alternatives
- OpenCage Flex — from $50/mo
Frequently Asked Questions
Does OpenCage Geocoding API require an API key?
Yes, OpenCage Geocoding API requires a free API key. You can sign up via https://opencagedata.com/api.
What is OpenCage Geocoding API's free tier?
2,500 calls/day, free key, no credit card
Is OpenCage Geocoding API currently online?
We check OpenCage Geocoding API every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use OpenCage Geocoding API
OpenCage is the best managed geocoding API for production use cases that need more than Nominatim's 1 req/sec. It aggregates OpenStreetMap, Geonames, and other open datasets behind a consistent interface, with 2,500 calls/day free — enough for a user-facing feature with moderate traffic.
Common pitfalls
- OpenCage's free tier restricts you to 1 request per second even though the daily limit is 2,500. The per-second throttle is enforced at the API level and returns a 429 if exceeded; the daily limit returns a 402.
- Results are sorted by confidence score (0-10). A confidence of 10 means a unique, unambiguous match; confidence of 1 means the query matched a very broad area. Always check the `confidence` field and handle low-confidence matches explicitly in your application.
- OpenCage's `bounds` parameter accepts a bounding box to bias results toward a specific region. This significantly improves accuracy for ambiguous queries (e.g., 'Springfield') and is worth adding to every request when you know the approximate region.
- The `no_annotations=1` parameter strips the extensive geocoding metadata (timezone, currency, flag emoji, etc.) from the response, reducing response size by ~60% and improving latency. Only add annotations when you actually need them.
Quick start (bash)
curl "https://api.opencagedata.com/geocode/v1/json?q=51.5,-0.1&key=YOUR_KEY&no_annotations=1" Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/opencage) HTML
<a href="https://freeapi.watch/opencage"><img src="https://freeapi-builder.a10ayassine.workers.dev/badge/opencage.svg" alt="OpenCage Geocoding API Status"/></a> Further reading
- Free Geocoding APIs Without an API Key in 2026 — Nominatim, plus the surprising fallback options when OSM rate-limits you. Real numbers.