ACME Updates

26sep2018 Geocoding

So after converting all my map pages from Google to Leaflet, I was still using Google for geocoding (converting addresses into coordinates). The level of geocoding requests on my big map averaged just a little under Google's new $200/month free allowance, so I figured why not just leave it going. However I noticed that some days a runaway webcrawler would hammer on my geocoding form, so I set up a quota to avoid having to pay Google hundreds of dollars. That's when my web day got interesting.

Google lets you set up two levels of quota. One is requests per day, the other is requests per 100 seconds. I had the requests/day quota set up, but when the runaway webcrawler came around it would use up that quota in an hour and then all my real users would be unable to geocode until the next day. So I tried setting the requests/100seconds quota too. The rate that would keep me within the free allowance was about 1 per 100 seconds, so to allow for legitimate bursts I set the quota to 10 per 100 seconds. And all requests failed. As soon as I set the second quota, every request returned an over quota error.

I did some experimenting and narrowed down the cutoff point to somewhere between 50 (fail) and 99 (ok) requests per 100 seconds. I reported the problem to Google, speculating that maybe they were trying to do an exponential average but got the math wrong.

A Google technical support person got back to me. He had questions. They were strange and repetitive, but I stuck with it and explained the problem over and over in technical baby talk. After [counts] four rounds of email, he noted that using Google geocoding on a non-Google map was a violation of their terms of service.

An hour after that I had switched my geocoding to another service. I think that was the last Google API I was using.

Back to ACME Updates.