Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regarding Places Library for Google Maps API Quota limits

Quick question, just to clarify the wording and meaning (because it's changed a couple of times for Map loading...)

There are the two following statements in the Places API FAQs:

The Google Places API has the following query limits:

Users with an API key are allowed 1 000 requests per 24 hour period. Users who have verified their identity through the APIs console are allowed 100 000 requests per 24 hour period. A credit card is required for verification, by enabling billing in the console. We ask for your credit card purely to validate your identity. Your card will not be charged for use of the Places API. While the lower limit is sufficient for development and testing, we recommend enabling the higher limit before launching your application. It is possible to request an additional quota. If granted, the additional quota is free of charge. If, at some stage in the future, an option becomes available to pay for an additional quota, that quota will be over and above the existing free quota, and you will need to sign up for it explicitly.

Note that some services may have a multiplier:

The Text Search service is subject to a 10-times multiplier. That is, each Text Search request that you make will count as 10 requests against your quota. The Radar Search Service is subject to a 5-times multiplier. That is, each Radar Search request that you make will count as 5 requests against your quota. If you've purchased the Google Places API as part of your Maps API for Business contract, the multiplier may be different. Please refer to the Google Maps API for Business documentation for details.

This implies that use of the Google Places API is restricted to 100,000 queries per day, or 10,000 if you're doing a Text Search.

However, on the Uplift page, it says the following:

If you are developing a web based application that only needs to search for places, and is not submitting new places or Place Bumps, you should use the Places library of the Maps API rather than using the Places API web service. The Places library assigns a quota to each end user rather than to each key. This means that your available quota increases with your user base rather than being capped at a fixed amount.

I am using the Places API in the following way:

https://maps.googleapis.com/maps/api/js?key=XXX&libraries=places
...
service = new google.maps.places.PlacesService(map);
service.textSearch(request, callback);

And also for some details searching and photo searching.

Therefore my question is; Given my usage of the Places API, am I subject to the 100,000 queries limit on my app, or am I essentially uncapped at an app level, as my quota is per end-user? (i.e. per unique IP? if I had 10,000 users I have an effective quota for my entire user base of 100,000*10,000?)

EDIT:

For clarity: if I throw my API key into https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=XXXX, it will increment my Places quota count on the Google API console, however if I run queries through my JS app, I see no quota use change. I want to make sure that i'm not suddenly going to be hit with a massive quota result.

like image 726
Stephen Wright Avatar asked Dec 23 '13 15:12

Stephen Wright


2 Answers

Use of the JavaScript API services, like those provided by the Places library, have quota assigned to each end-user. It's a very similar setup as objects like the google.maps.Geocoder, which has been discussed in a bit more detail in this Geocoding Strategies article.

like image 50
bamnet Avatar answered Oct 12 '22 23:10

bamnet


You may apply for an uplift to the quota so that the restriction is taken away and you have unlimited access:

https://docs.google.com/forms/d/18pkOdu0uofeI8tbQoReDVfkbOIAscLvjiKc9ZP06hEM/viewform

This form is applicable to Android, IOS and Web.

like image 28
Simon Avatar answered Oct 13 '22 01:10

Simon