Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Geocoding service [closed]

I'm looking for geocoding service, which can provide 1 million queries per day.

I've already read about google/yahoo api, but unfortunately none of them can offer this quantity.

Any help is appreciated.

like image 478
user869752 Avatar asked Dec 29 '25 20:12

user869752


2 Answers

Google, Yahoo, MapQuest (licensed service) or Microsoft will be more than happy to allow you to use their API with this kind of volume, with their premium plans.

If you want this for free, MapQuest Open runs Nominatim, a free geocoder, based on OpenStreetMap data. This service is not, as of today, rate-limited.

Or, if you want more control, why not set up your own geocoder, based on Nominatim?

like image 199
Pierre Avatar answered Dec 31 '25 18:12

Pierre


I work at SmartyStreets where we specialize in address verification and geocoding. While I'm not sure yet (see my comment to your question) if you are geocoding by address or by IP, I know of some venues you could investigate. I'll start with some general principles then offer a recommendation or two.

There are services that will perform either batch geocoding or geocoding en masse for such large quantities. Ultimately, to service upwards of a million requests daily from a single user, the API you determine to use should have the following characteristics:

  • Geo-distributed. Latency can easily double the time of a request, and over a million queries in just one day (about 11 queries/sec) can seriously affect your app's performance.

  • Scalable. If one machine becomes overwhelmed servicing API requests, how will the system cope and service others pending?

  • SLA with guaranteed uptime. Especially for mission-critical operations, geocoding must not get in your way, and for such a large quantity you want to make sure the availability isn't affected arbitrarily.

  • Portable/lightweight. In other words, you want something that can output results in a universal format. XML is nice, but often difficult to use and has its limitations. I've personally found JSON to be a great format for sending and receiving data.

  • Affordable. The premium plans of Google and Yahoo's APIs are generally designed for corporate entities, which carry a hefty cost. Your means may not allow that.

Also keep in mind that Google, OpenStreetMap (Nominatim), Yahoo, and others, don't actually verify the locations they geocode. In other words, you can give Google or OSM an address that doesn't really exist, and it will still give you coordinates --- because they perform address approximation, not address verification. Their purpose is to help you search/find things, but if you need accurate coordinates, you best make sure the address is correct.

Start looking around for APIs like this. I would suggest you start with LiveAddress, and see how it meets your needs. We service millions of requests per day and can easily handle thousands of requests per second, and the data we return to you will only actually exist: no guessing about the addresses. It comes with an SLA, is serviced from 3 data centers across the US, and has a simple JSON output. Response times are generally around 100ms or less (excluding external latencies out of our control).

And by the way, it's free to use for 250 addresses, or queries, per month, which in your case should help you get started real easy...

If you have any further questions, I'll be happy to help you personally.

like image 45
Matt Avatar answered Dec 31 '25 18:12

Matt



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!