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

TopicGeoapify Geocoding APIOpenGeocoding API
Free usage3,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 plansDaily 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 overSoft 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 rate12–30 requests/second on paid plans.5 requests/second on Starter, 25 on Growth.
Storing resultsAllowed, as long as the data-source attribution stays with stored results.Permanently, with no deletion deadline, under the same open data licences.
AutocompleteAddress Autocomplete API, one credit per request.A dedicated endpoint that spends no credits; retrieving the chosen suggestion costs one.
Bulk geocodingAn 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 geocodingRouting, isochrones, places, boundaries and map tiles on the same credits.Geocoding only: search, reverse, autocomplete and regions, plus an MCP server for AI assistants.
SLA99.5% monthly availability on every paid plan, with discounts below it.On Enterprise plans.
DataOpenStreetMap, 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 / monthGeoapifyOpenGeocoding
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, outside the few places with a registry sample below. On 151 street and house cases there, Geoapify passed 61 against our 43. More generally, check our house-number coverage by country: it is uneven.
  • You geocode villages and small towns in countries without a registry sample. Geoapify passed 68.4% of our 3,240 town cases, against our 58.4%.
  • 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.

QueriesGeoapifyOpenGeocoding
Full test corpus (29,013)70.5%85.6%
US/Canada subset (1,947)81.0%97.7%

Geoapify passed 1,171 test-corpus cases that OpenGeocoding 1.7.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 →

Geoapify and OpenGeocoding, registry by registry

Each coloured country has a sample of addresses from its official register, and each dot a register for one city. Both services got the same queries. A country counts as ahead or behind only where a sign test on the cases just one side passed gives p < 0.05; anything closer is level.

Uruguay: ahead of geoapify. OpenGeocoding passed 205 of 206; Geoapify 138.United States: ahead of geoapify. OpenGeocoding passed 835 of 850; Geoapify 709.Switzerland: ahead of geoapify. OpenGeocoding passed 778 of 780; Geoapify 732.Spain: ahead of geoapify. OpenGeocoding passed 1499 of 1544; Geoapify 1052.South Korea: ahead of geoapify. OpenGeocoding passed 795 of 2794; Geoapify 677.Slovakia: ahead of geoapify. OpenGeocoding passed 197 of 200; Geoapify 172.Slovenia: ahead of geoapify. OpenGeocoding passed 192 of 192; Geoapify 168.Singapore: ahead of geoapify. OpenGeocoding passed 358 of 362; Geoapify 211.Serbia: ahead of geoapify. OpenGeocoding passed 280 of 296; Geoapify 247.Poland: ahead of geoapify. OpenGeocoding passed 926 of 927; Geoapify 720.Norway: ahead of geoapify. OpenGeocoding passed 1068 of 1071; Geoapify 1024.New Zealand: ahead of geoapify. OpenGeocoding passed 543 of 545; Geoapify 484.Netherlands: ahead of geoapify. OpenGeocoding passed 1026 of 1026; Geoapify 981.Mexico: ahead of geoapify. OpenGeocoding passed 94 of 320; Geoapify 53.Luxembourg: ahead of geoapify. OpenGeocoding passed 239 of 240; Geoapify 213.Lithuania: ahead of geoapify. OpenGeocoding passed 200 of 200; Geoapify 52.Liechtenstein: level with geoapify. OpenGeocoding passed 131 of 132; Geoapify 129.Latvia: ahead of geoapify. OpenGeocoding passed 244 of 244; Geoapify 161.Japan (abr-residences): ahead of geoapify. OpenGeocoding passed 506 of 512; Geoapify 0. Japan (mlit-blocks): ahead of geoapify. OpenGeocoding passed 362 of 368; Geoapify 1.Italy: ahead of geoapify. OpenGeocoding passed 311 of 320; Geoapify 177.Iceland: ahead of geoapify. OpenGeocoding passed 305 of 312; Geoapify 149.France: ahead of geoapify. OpenGeocoding passed 801 of 808; Geoapify 754.French Polynesia: ahead of geoapify. OpenGeocoding passed 119 of 120; Geoapify 101.Finland: ahead of geoapify. OpenGeocoding passed 166 of 169; Geoapify 145.Estonia: ahead of geoapify. OpenGeocoding passed 240 of 240; Geoapify 102.Greenland: ahead of geoapify. OpenGeocoding passed 144 of 144; Geoapify 0.Faroe Islands: geoapify ahead. OpenGeocoding passed 116 of 136; Geoapify 134.Denmark: ahead of geoapify. OpenGeocoding passed 1878 of 1883; Geoapify 1760.Czechia: ahead of geoapify. OpenGeocoding passed 556 of 567; Geoapify 480.Hong Kong SAR China: ahead of geoapify. OpenGeocoding passed 233 of 240; Geoapify 113.Canada: ahead of geoapify. OpenGeocoding passed 532 of 550; Geoapify 376.Brazil: ahead of geoapify. OpenGeocoding passed 310 of 316; Geoapify 251.Belgium: ahead of geoapify. OpenGeocoding passed 381 of 384; Geoapify 365.Austria: level with geoapify. OpenGeocoding passed 156 of 156; Geoapify 153.Australia: ahead of geoapify. OpenGeocoding passed 519 of 522; Geoapify 486.Berlin, Germany: level with geoapify. OpenGeocoding passed 192 of 192; Geoapify 187.Bogotá, Colombia: ahead of geoapify. OpenGeocoding passed 564 of 567; Geoapify 273.Faroe Islands: geoapify ahead. OpenGeocoding passed 116 of 136; Geoapify 134.French Polynesia: ahead of geoapify. OpenGeocoding passed 119 of 120; Geoapify 101.Hong Kong SAR China: ahead of geoapify. OpenGeocoding passed 233 of 240; Geoapify 113.Liechtenstein: level with geoapify. OpenGeocoding passed 131 of 132; Geoapify 129.Luxembourg: ahead of geoapify. OpenGeocoding passed 239 of 240; Geoapify 213.Singapore: ahead of geoapify. OpenGeocoding passed 358 of 362; Geoapify 211.Tainan, Taiwan: ahead of geoapify. OpenGeocoding passed 332 of 350; Geoapify 241.Taipei, Taiwan: ahead of geoapify. OpenGeocoding passed 620 of 622; Geoapify 574.
World
Berlin, Germany: level with geoapify. OpenGeocoding passed 192 of 192; Geoapify 187.Bogotá, Colombia: ahead of geoapify. OpenGeocoding passed 564 of 567; Geoapify 273.Faroe Islands: geoapify ahead. OpenGeocoding passed 116 of 136; Geoapify 134.French Polynesia: ahead of geoapify. OpenGeocoding passed 119 of 120; Geoapify 101.Hong Kong SAR China: ahead of geoapify. OpenGeocoding passed 233 of 240; Geoapify 113.Liechtenstein: level with geoapify. OpenGeocoding passed 131 of 132; Geoapify 129.Luxembourg: ahead of geoapify. OpenGeocoding passed 239 of 240; Geoapify 213.Singapore: ahead of geoapify. OpenGeocoding passed 358 of 362; Geoapify 211.Tainan, Taiwan: ahead of geoapify. OpenGeocoding passed 332 of 350; Geoapify 241.Taipei, Taiwan: ahead of geoapify. OpenGeocoding passed 620 of 622; Geoapify 574.
Europe
  • Ahead of Geoapify (36)
  • Level with Geoapify (3)
  • Geoapify ahead (1)
  • No registry sample
Results for all 40 registries
Registry sampleCasesOpenGeocodingGeoapifyResult
Australia522519486 Ahead of Geoapify
Austria156156153 Level with Geoapify
Belgium384381365 Ahead of Geoapify
Berlin, Germany192192187 Level with Geoapify
Bogotá, Colombia567564273 Ahead of Geoapify
Brazil316310251 Ahead of Geoapify
Canada550532376 Ahead of Geoapify
Czechia567556480 Ahead of Geoapify
Denmark188318781760 Ahead of Geoapify
Estonia240240102 Ahead of Geoapify
Faroe Islands136116134 Geoapify ahead
Finland169166145 Ahead of Geoapify
France808801754 Ahead of Geoapify
French Polynesia120119101 Ahead of Geoapify
Greenland1441440 Ahead of Geoapify
Hong Kong SAR China240233113 Ahead of Geoapify
Iceland312305149 Ahead of Geoapify
Italy320311177 Ahead of Geoapify
Japan (abr-residences)5125060 Ahead of Geoapify
Japan (mlit-blocks)3683621 Ahead of Geoapify
Latvia244244161 Ahead of Geoapify
Liechtenstein132131129 Level with Geoapify
Lithuania20020052 Ahead of Geoapify
Luxembourg240239213 Ahead of Geoapify
Mexico3209453 Ahead of Geoapify
Netherlands10261026981 Ahead of Geoapify
New Zealand545543484 Ahead of Geoapify
Norway107110681024 Ahead of Geoapify
Poland927926720 Ahead of Geoapify
Serbia296280247 Ahead of Geoapify
Singapore362358211 Ahead of Geoapify
Slovakia200197172 Ahead of Geoapify
Slovenia192192168 Ahead of Geoapify
South Korea2794795677 Ahead of Geoapify
Spain154414991052 Ahead of Geoapify
Switzerland780778732 Ahead of Geoapify
Tainan, Taiwan350332241 Ahead of Geoapify
Taipei, Taiwan622620574 Ahead of Geoapify
United States850835709 Ahead of Geoapify
Uruguay206205138 Ahead of Geoapify

OpenGeocoding 1.7.0. These registers are also data sources for the OpenGeocoding index, which is part of why it passes them. The samples are not nationally representative, a city register does not speak for its country, and most locations are asked in more than one form, so the p-values are optimistic. Greenland's cases come from the same building references the index reads, which providers do not carry, so its result is not a comparison. Read the scorecard and the per-registry data.

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

Geoapify
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

OpenGeocoding
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

Geoapify
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

OpenGeocoding
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 responseOpenGeocoding search response
results[0].lat / .longeoCoordinates.lat / .lon
results[0].formatteddisplayName
results[0].housenumber, .street, .postcode, .city, .country_codeaddressDetails.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.