EQUEST
policy
billing
ai_generated
true
Google Maps API requests returning 'REQUEST_DENIED' or billing error after previously working
ID: policy/google-maps-api-billing-change
85%Fix Rate
88%Confidence
3Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| any | active | — | — | — |
Root Cause
Google Maps Platform requires billing account with credit card since 2018. Free tier gives $200/month credit (~28K map loads). Exceeding this or having payment issues causes silent request denial. API key restrictions can also silently block requests.
genericWorkarounds
-
92% success Set up billing budget alerts at $0, $50, $100 in Google Cloud Console
Google Cloud Console -> Billing -> Budgets & alerts -> Create budget with email notifications
-
88% success Restrict API key by HTTP referrer/IP and API type to prevent abuse
Google Cloud Console -> Credentials -> API key -> Application restrictions -> HTTP referrers
-
85% success Cache geocoding results and use static maps where possible to reduce API calls
Geocode addresses once and cache. Use Static Maps API (cheaper) for non-interactive displays.
Dead Ends
Common approaches that don't work:
-
Use Google Maps API without a billing account since it 'used to be free'
92% fail
Since June 2018, all Maps APIs require a billing account. Old API keys without billing return REQUEST_DENIED.
-
Assume $200/month free credit covers all usage
82% fail
$200/month = ~28,000 Dynamic Maps loads or ~40,000 Geocoding requests. High-traffic sites exceed this quickly. Billing kicks in with no warning.