Google’s controls vs Spend Brake
Budgets alert. Quotas count requests. Spend Brake stops dollars.
| Google Cloud budgets | Maps Platform quotas | Google spend caps | Spend Brake | |
|---|---|---|---|---|
| Stops spend | No, alerts only | Yes | Yes | Yes, before the request leaves |
| Unit | Dollars | Requests per API per minute/day | Dollars | Dollars (micro-dollar exact) |
| Covers Maps Platform | Yes | Yes | No, per Google’s docs at the time of writing; check yours | Yes |
| Knows SKU tiers (field masks) | After billing | No: a $0.04 request counts like a free one | After billing | Yes, priced per field mask |
| Delay | Hours (billing data) | Real time | Billing data | Real time |
| Granularity | Project / billing account | Project, per API | Billing account | Org, key, SKU, environment, agent, session; day and month |
| Loop / runaway detection | No | No | No | Yes, trips a circuit |
| Kill switch | No | Set quota to 0 by hand | No | One call, link or button; immediate |
| Alerts with actions | Email, Pub/Sub | No | No | Webhooks (Slack, Discord, Teams, raw) and email with Kill / Raise / Mute links |
Keep Google’s own budgets and quotas on as a backstop. Spend Brake is the part that acts before the money is spent.
Make the proxy the only way to spend
Caps only hold if nothing reaches Google without the proxy. Restrict the real key in Google Cloud (APIs & Services → Credentials):
- Application restrictions: IP addresses, set to the proxy’s outbound addresses. The
dashboard shows them after you add a Google key. On a self-hosted install,
brake initprints the steps, console andgcloud, with the addresses you pass in--egress-ip. - API restrictions: only the Maps APIs you use, for example Places API (New), Geocoding API and Routes API.
Google takes up to 5 minutes to apply the change. After that, calls from your own servers with the real key fail: send them through Spend Brake.
Your bill is the record
Overshoot is bounded by one request’s worst case, and Google’s bill remains the authoritative record of what you spent. On a self-hosted Business or Enterprise install, connect the Google Cloud Billing export and the worker compares the ledger with Google’s bill every day, per SKU family; drift above 5% raises an alert (see CLI: reconcile).
Leaving Google Maps
brake estimate (or Migration in the dashboard) prices your last 30 days of Google usage on
Geoapify, Stadia Maps, Open Places API, Mapbox and HERE side by side, and shows what would stay
on Google.