Tutorials & Integration Guides
Ruby Geocoder after OVER_QUERY_LIMIT errors
QuotaGuard Dynamic IPs are meant to make Google Maps Geocoding API usable from platforms like Heroku by spreading requests across many proxy machines. That avoids OVER_QUERY_LIMIT from per-IP throttling until you hit Google’s daily cap (2,500 as of Nov 2013). But Google also rate-limits per second. If you exceed roughly 4 requests per second, you can still get temporary OVER_QUERY_LIMIT responses. The practical fix is retries with backoff, which usually shows up during bulk geocoding jobs (often a Ruby rake task). The example approach is: geocode each record, check whether it actually geocoded, and if not, sleep briefly and retry a few times. Caveat: the Ruby Geocoder gem does not reliably raise on failures, so the “not geocoded” check can trigger retries for bad addresses too.