Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bypass Google Geocoding API IP Rate Limits

We are a division of a large corporation and are running into a MAJOR problem with the Google maps and geocoding API. The problem is that all 70 divisions of our corporation are behind the same IP address. So a customer service agent in India would appear to be coming from the same IP address as a developer in Cleveland, OH who would appear to be coming from the same IP address as a division president in western Europe. With over 130,000 employees, we routinely get blocked for exceeding the IP rate limit.

Aside from individuals just browsing to websites that happen to be using Google maps with client-side geocoding requests, any division that attempts to do batch geocoding or provides their own application for showing maps will all contribute to the same limit! We actually use our own Where To Buy service internally, which is publicly available, (http://www.ridgid.com/Tools/Where-To-Buy/), to give customers information about local distributors.

While we are not running into an API limit (at least not yet, and when we do we can always buy the enterprise license), we are running into the IP rate limit and currently have no workaround. We are already following best practices in terms of caching up geocoding results and reducing wasteful calls. Thankfully this isn't a problem for our customers as they are not on the same IP as users within our corporation.

The question is whether there is ANY way we can get an exception from Google to our specific IP address to improve the IP-based limitations given our setup? This is really a question for Google. Thanks for your help!

like image 798
jakejgordon Avatar asked Feb 27 '12 22:02

jakejgordon


People also ask

What happens when you exceed the Google geocoding API rate limit 1 point?

According to Google's API Usage and Billing page, there is a limit of 50 requests per second. If you exceed this amount, subsequent requests to the API will fail with the OVER_DAILY_LIMIT or OVER_QUERY_LIMIT status code and the geocoded data will not be returned.

Can I use Google geocoding API for free?

The Geocoding API uses a pay-as-you-go pricing model. Geocoding API requests generate calls to one of two SKUs depending on the type of request: basic or advanced. Along with the overall Google Terms of Use, there are usage limits specific to the Geocoding API.

What are the usage limits for the Google Maps geocoding API Web service per day?

Each AppSheet account has a monthly usage limit on the number of addresses that receive high-precision geocoding. This limit is 1000 addresses geocoded per month.

What is the limit to access to the API using a key per minute?

Auth0's Authentication API has a global limit of 300 requests per minute for free tenants. The limit is global for the tenant and not per endpoint. The global rate limit applies to all Authentication API endpoints.


2 Answers

A division of a large corporation with tens of thousands of employees should have an enterprise licence.

like image 199
david strachan Avatar answered Oct 13 '22 00:10

david strachan


I don't think there's a limit associated with IP if you are using the client-side geocoding as described here:

https://developers.google.com/maps/articles/geocodestrat

Server-side geocoding through the Geocoding Web Service has a quota of 2,500 requests per IP per day, so all requests in one day count against the quota. In addition, the Web Service is rate-limited, so that requests that come in too quickly result in blocking.

Client-side geocoding through the browser is rate limited per map session, so the geocoding > is distributed across all your users and scales with your userbase.

A "map session" means every time the Javascript Map API is loaded. However there might be a limit on that as well, whether or not it's associated with IP / domain / sub-domain / URL still needs further clarification.

And the "rate limited" on client side doesn't mean there is a daily quota or something, I had tested this method, on a single day, it can geocode more than 2500 addresses. You will have to think and test how the "rate limit" works, my observation is it let you burst to around 10 addresses in no time, then limit you to a rate of around 1 geocode per second for the next 150 request, further request from the same "session" would take exponentially longer time.

like image 23
user1431972 Avatar answered Oct 13 '22 00:10

user1431972