Technically what is an "application" when referred to in the Google Static Maps Rate Limits docs
Asked Answered
U

3

7

From https://developers.google.com/maps/documentation/staticmaps/#Limits I read:

The Google Static Maps API has the following usage limits:

25 000 free static map requests per application per day.

If I'm not providing an API key in the URL, how does it determine the limit? IP of the referring page? domain of the referring URL? IP of the client?

Unsaddle answered 18/6, 2013 at 16:16 Comment(0)
S
3

We used the static maps on our website, we've discovered it uses the IP address of the client. So someone who looked at our website a lot would find the big your quota has been exceeded image would appear for them but not for me.

Saied answered 8/10, 2013 at 23:19 Comment(6)
So you are saying that there are clients which request 25.000 static map images? Is there anybody who reach that?Acapulco
Only one person in our team has, our content manager, she looks at the pages with the maps on every day. If another website requested the static maps without a key then I would imagine that contributed too (As she uses a lot of mapping sites) so she exceeded her limit. But thats the only time I'm aware of that she's exceeded it.Saied
This would be consistent with data I gathered after having posted the question: AT&T mobile users would get the quota exceeded image because apparently this carrier has proxies, so users share IP addresses. Also as soon as I added the API key, the quota image issue subsided.Unsaddle
But there is no free version of API key?Acapulco
From experience you have a API Key For Business Users which gives you an extended amount, some offer a free API Key if they enforce limits which they can use to track how much your app uses, there is instructions on their website on how to generate one via their developer portal. And failing that they will just fall back to the client's IP but not all of their APIs do this.Saied
What it if is based on the Origin header?Acapulco
D
1

I start by declaring that I do not know this, but the logical choice is the domain.

With ip restriction multiple clients on the same web server would consume each others quotas which they should have thought of.

*Client ip would be useless in every metric. *Server ip would mean multiple clients on one host would consume each others quota.

Whats left is the domain. However with that said, Google is know to use their brains and I would not be surprised if they have a combination running to find abuse. Like so.

If domainA.com uses up 25 000 in one day and them immediately domainB.com comes online and starts asking for images from the same ip that might ring some bells.

Of course the same would be true even for different ip if they all request the same location.

So in summary, I think if you randomize which domain asks for the map at any given cient request and only locally mark a domain as spent (for the day) when you get error back I think you can request infinite amount (if you have infinite domains). With the possible caveat of detection if all request the same location.

Of course spreading the different domains over different servers/ip would make it impossible to detect, however unlikely it's needed.

Dc answered 4/10, 2013 at 9:55 Comment(2)
And how does the Google know which domain is embedding the static URL? There is no API key needed. The only thing is to use referrer header, but this is not really a stable way. And furthermore, from my testing, at a given moment, map worked for one client but not for another. You would assume that it would not work for any client when it reaches the limit.Acapulco
Then my logic stand flawed!Dc
P
0

There is no clarity in the pricing model and the usage limits that Google has posted for their web service API's but I guess the accepted answer is wrong and misleading - refer Two conflicting statements for google static map usage

The 25k usage limit will be for the application and not for its client.

Pursuer answered 4/4, 2014 at 3:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.