Geoapify alternative
Geocoding on open data, billed by the month.
Geoapify is a location platform: geocoding, routing, places and maps on open data, with daily credit quotas. OpenGeocoding does geocoding only, with monthly allowances and autocomplete that spends no credits.
50,000 free requests a month. No credit card. Commercial use allowed.
Geoapify and OpenGeocoding
| Topic | Geoapify Geocoding API | OpenGeocoding API |
|---|---|---|
| Free usage | 3,000 credits a day (one per geocoding request) at 5 requests/second. Production and commercial use allowed with a "Powered by Geoapify" link. | 50,000 requests a month at 2 requests/second. Commercial use allowed. No credit card. Open-data attribution only. |
| Paid plans | Daily credit quotas, from $59/month for 10,000 a day to $609/month for 250,000 a day; Custom plans with unmetered requests from $860/month. Prices exclude taxes. | Monthly allowances: $29 for 300,000 requests, $99 for 1,500,000. Dedicated capacity on Enterprise. |
| Going over | Soft limits: if you keep going over the daily quota, Geoapify asks you to upgrade. | Billable calls stop when the monthly credits run out. No overage charges. |
| Request rate | 12–30 requests/second on paid plans. | 5 requests/second on Starter, 25 on Growth. |
| Storing results | Allowed, as long as the data-source attribution stays with stored results. | Permanently, with no deletion deadline, under the same open data licences. |
| Autocomplete | Address Autocomplete API, one credit per request. | A dedicated endpoint that spends no credits; retrieving the chosen suggestion costs one. |
| Bulk geocoding | An asynchronous batch API that counts each address as 0.5 credit. | One query per request, up to your per-second limit. A short Python script geocodes a CSV. |
| Beyond geocoding | Routing, isochrones, places, boundaries and map tiles on the same credits. | Geocoding only: search, reverse, autocomplete and regions, plus an MCP server for AI assistants. |
| SLA | 99.5% monthly availability on every paid plan, with discounts below it. | On Enterprise plans. |
| Data | OpenStreetMap, OpenAddresses, Who's on First, GeoNames, Wikipedia and more. | OpenStreetMap, Overture Maps, OpenAddresses and GeoNames, merged into one index. |
What a month of geocoding costs
The cheapest Geoapify plan that covers each of our plan allowances with single requests, with traffic spread evenly over a 30-day month.
| Requests / month | Geoapify | OpenGeocoding |
|---|---|---|
| 50,000 | $0 Free | $0 Free |
| 300,000 | $59 API 10 | $29 Starter |
| 1,500,000 | $179 API 50 | $99 Growth |
Geoapify: USD monthly list prices excluding taxes. Batch requests count half a credit, so a bulk job needs about half the quota. OpenGeocoding: monthly plan price excluding VAT or sales tax, which assumes you use the whole allowance.
When Geoapify fits better
Pick the right tool.
- You need more than geocoding. Routing, isochrones, places and map tiles from one provider, on one bill, are things we don't offer.
- Your free usage is larger than ours: about 90,000 geocoding requests a month, in production, against our 50,000, if you can show their attribution link.
- Your addresses are in Asia. On our corpus Geoapify did better there: 111 against our 54 of 416 Korean registry addresses; 52 against our 29 of 136 street and house cases in other Asian countries. More generally, check our house-number coverage by country: it is uneven.
- You run large batch jobs. Geoapify's batch API halves the credit cost, and its entry paid plan allows 12 requests/second against 5 on our Starter plan.
- You want an SLA on a self-serve plan.
Accuracy
Our benchmark, and its limits.
| Queries | Geoapify | OpenGeocoding |
|---|---|---|
| Matched test corpus (11,671) | 83.5% | 90.6% |
| US/Canada subset (1,945) | 81.1% | 97.0% |
Geoapify passed 456 test-corpus cases that OpenGeocoding 0.18.0 failed. A pass needs the expected country, a location within the case's tolerance and the expected precision. We ran this benchmark on our own corpus, whose sources overlap our index: read it as a diagnostic, not a ranking, and test both services on your own addresses.
Benchmark methodology and limitations →Migrating
Swap the request, map the fields.
Geoapify takes GET query strings and, with format=json,
returns a list of results; OpenGeocoding takes a JSON POST with an API key and returns the best match.
Geoapify biases searches toward the caller's country by IP unless told otherwise; OpenGeocoding does
not, so include the country in the address.
Search, before
curl -G 'https://api.geoapify.com/v1/geocode/search' \
--data-urlencode 'text=10 Rue de Rivoli, Paris' \
-d format=json -d apiKey=YOUR_GEOAPIFY_KEY Search, after
curl 'https://api.opengeocoding.com/v1/search' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"addressString": "10 Rue de Rivoli, Paris"}' Reverse, before
curl -G 'https://api.geoapify.com/v1/geocode/reverse' \
-d lat=55.676 -d lon=12.568 \
-d format=json -d apiKey=YOUR_GEOAPIFY_KEY Reverse, after
curl 'https://api.opengeocoding.com/v1/reverse' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"lat": 55.676, "lon": 12.568}' | Geoapify response | OpenGeocoding search response |
|---|---|
| results[0].lat / .lon | geoCoordinates.lat / .lon |
| results[0].formatted | displayName |
| results[0].housenumber, .street, .postcode, .city, .country_code | addressDetails.houseNumber, .road, .postcode, .city, .countryCode |
| results: [] | an empty object {} |
Geoapify facts checked from its pricing page, pricing details, Geocoding API page and terms and conditions. Geoapify may change them at any time. Results derived from either service stay under their open data licences, which require attribution; see our data attributions. Geoapify is a trademark of its owner; OpenGeocoding is not affiliated with Geoapify.
Try it on your own addresses.
Get a key in a minute and compare results side by side before you move any traffic.