As far as it is a company with certain interests, they have terms and conditions and service prices destined to increase their profitabilities and income. So it happens that businesses unexpectedly get huge bills or banned because some service conditions were violated. For developers, users, and commercials, it can lead to problems.
However, there are alternative geocoding services based on OpenStreetMap data. So how is OSM geocoding different than, for example, Google Maps Geocoding? As it is based on community-driven open data, it is more affordable and permissive.
Is OpenStreetMap geocoding good enough?
People choose OpenStreetMap geocoding for two main reasons:
- OSM is significantly cheaper than, for example, Google Maps geocoding;
- Open data makes usage transparent, as far as not companies but contributors own the data. Businesses can collect and store the geocoded addresses according to the OpenStreetMaps license.
What about coverage and quality? Is the OSM geocoding as accurate as Google Maps and other commercial projects? The answer is YES! And there are particular reasons why. Let's go through them!
First, it's evaluated, updated, and maintained by a constantly growing community that adds new buildings and addresses, amenities and points of interest, defines postcode, political and administrative boundaries. The OSM community of over 7,800,000 registered users, over 1,600,000 contributors with more than 500,000 active ones makes about 140,000,000 changes per month.
Even if some regions are not complete, they soon will be. Users add essential and rare information about places they know, which helps to know cities better. If there are shops worth attention to, contributors comment on them.
Second, big corporates stand behind the OpenStreetMap project now as well - Microsoft, Apple, Facebook, DigitalGlobe, Telenav, and other companies integrate OpenStreetMap data into their solutions and contribute back. The companies have internal volunteer projects, share data and results.
For example, Microsoft recently supplemented OpenStreetMap data by US building footprints based on satellite imaginaries, and Facebook helps improve data quality by applying Artificial Intelligence.
OpenStreetMap geocoding APIs — free vs. commercial
OpenStreetMap is an open-data source and free to use. But is the OpenStreetMap geocoding free as well? Well, the answer is "yes and no!"
There is a free OSM Nominatim service, which provides a free public Nominatim API to search addresses. However, it runs on donated servers, and it leads to restrictions in usage:
- its absolute maximum of requests is one per second
- auto-complete search is not yet supported
- bulk queries are forbidden
- you cannot scrape off details because this page is here only for debugging
If you do something from this list, you can be banned. And If you use the Free OSM geocoding on your website or app one day, it can just stop working.
When you develop an app that needs OSM geocoding, choose commercial APIs instead. Many third-party services offer geocoding based on OpenStreetMap. They provide more robust and faster servers. In addition, you can select conditions and price plans that suit your purposes.
For example, Geoapify uses based on open-data Geocoding API which is more potent and faster than the free OSM geocoding service.
Moreover, you can implement address autocomplete and choose rate limits according to your needs.
Why Geoapify Geocoding API?
- Our technology is open-data-based. Data comes from OpenStreetMap, OpenAddresses, GeoNames, and others similar to them. That makes information trustworthy and detailed. Moreover, the data is open! That means that you can store found addresses without breaking the license.
- We offer changeable price plans and a free tier even for commercial users.
- We update regularly and review the data, so you get up-to-date and faultless information with our API.
Geoapify runs on any programming language or platform and works via HTTP requests to make the application convenient for both users and developers.
Geocoding URL and results
You can search addresses and locations worldwide and get results in different languages, set preferred locations, and location filters. Let's have a look at a few examples.
Search the "Via Conca d'Oro, 86A, 00141 Roma, Italia" address and get results in Italian
lang parameter in the URL to specify the language:
Here is a result object:
Search the Calle de columela street closest to the location 40.4247575 -3.6910857 (Madrid, Spain)
proximity parameter to specify user or other location:
Here is a result object:
Ikea shop within a bounding box (Geneva, Switzerland)