Google Rate Limits by Tier

What are Google's API rate limits?

Google's entry tier (Free) allows an unpublished number of requests/min and an unpublished number of tokens/min for documented default/model family. Limits scale up through Tier 2 as cumulative spend and account age increase — see the full table below, verified 2026-08-14.

Verified 2026-08-14 source

Limits by tier

TierQualificationModel classRPMTPMRPDConcurrent
FreeActive project or free trialdocumented default/model family
Tier 1Linked billing accountdocumented default/model family
Tier 2$100 paid and 3 days since first paymentdocumented default/model family

— means not documented by Google, never a guess.

What this means for your workload

Classification at volume: 116 calls/min and 60,320 tokens/min at the production profile.

This provider publishes no numeric cap for this workload; check the account console before launch.

Response headers

retry-afterSeconds to wait before retrying, when supplied with a 429
rate-limit response headersProvider-specific remaining and reset counters when documented

When you exceed the limit

Google returns HTTP 429.

Check the project quota in AI Studio; limits vary by model and project.

FAQ

What happens when I exceed Google's rate limit?

Google returns HTTP 429. Check the project quota in AI Studio; limits vary by model and project.

How do I request a rate limit increase on Google?

Request one from the account dashboard: https://aistudio.google.com/rate-limit

Google provider hubGet a Google API key

Batch 48 · google rate-limit decision and evidence modules. Surface verification: 2026-08-14. These are dated, route-local fixtures, not live quota claims.

Gemini project-tier-model quota resolver

Frozen google evidence board: free project · Tier 1–3 billing accounts · preview model · image model · priority inference · Vertex AI lookalike. Formula / decision rule: effective quota = product ∧ project ∧ tier ∧ model; reject cross-product transfer

Frozen fixtureInputs and observationFormula / boundaryState
batch48-google-m1-r1
free project · Tier 1–3 billing accounts
principal/account=joined; endpoint=joined; model/pool=joined; bucket/window=joined; observed=2026-08-14
The primary identity and product joins are present for this frozen fixture.
effective quota = product ∧ project ∧ tier ∧ model; reject cross-product transfer
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH SCOPE — frozen observation only.
batch48-google-m1-r2
preview model · image model · priority inference
request/response/error=joined; limit/remaining/reset=observed; retry identity=joined; region=joined
The response evidence is usable only for the named bucket and time window; no neighboring provider is borrowed.
effective quota = product ∧ project ∧ tier ∧ model; reject cross-product transfer
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH LIMIT — dated evidence only.
batch48-google-m1-r3
Vertex AI lookalike
workload=joined; prompt/output reserve=explicit; shared pool=declared; unknown=Unavailable; owner=platform
Admission or recovery is withheld where the account-specific value or side-effect identity is absent.
effective quota = product ∧ project ∧ tier ∧ model; reject cross-product transfer
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
UNAVAILABLE — live owner evidence required.

Provenance: Frozen Batch 48 google fixture: module 1 observation and calculation. First-party evidence checked 2026-08-14; unresolved joins fail closed. Surface verification date: 2026-08-14. Google Gemini API quota docs (first-party source)

Gemini 429 detail interpreter

Frozen google evidence board: RPM · input TPM · daily requests · token/day · image/minute · spend window · batch-enqueued-token · transient capacity. Formula / decision rule: join metric = response reason ∧ quota identifier ∧ reset evidence; absent identifier → Unavailable

Frozen fixtureInputs and observationFormula / boundaryState
batch48-google-m2-r1
RPM · input TPM · daily requests
principal/account=joined; endpoint=joined; model/pool=joined; bucket/window=joined; observed=2026-08-14
The primary identity and product joins are present for this frozen fixture.
join metric = response reason ∧ quota identifier ∧ reset evidence; absent identifier → Unavailable
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH SCOPE — frozen observation only.
batch48-google-m2-r2
token/day · image/minute · spend window
request/response/error=joined; limit/remaining/reset=observed; retry identity=joined; region=joined
The response evidence is usable only for the named bucket and time window; no neighboring provider is borrowed.
join metric = response reason ∧ quota identifier ∧ reset evidence; absent identifier → Unavailable
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH LIMIT — dated evidence only.
batch48-google-m2-r3
batch-enqueued-token · transient capacity
workload=joined; prompt/output reserve=explicit; shared pool=declared; unknown=Unavailable; owner=platform
Admission or recovery is withheld where the account-specific value or side-effect identity is absent.
join metric = response reason ∧ quota identifier ∧ reset evidence; absent identifier → Unavailable
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
UNAVAILABLE — live owner evidence required.

Provenance: Frozen Batch 48 google fixture: module 2 observation and calculation. First-party evidence checked 2026-08-14; unresolved joins fail closed. Surface verification date: 2026-08-14. Google Gemini API quota docs (first-party source)

Multi-modal and batch admission board

Frozen google evidence board: text chat · 1M-context request · image generation · cached repeat · live/stream · 100 concurrent batch jobs · mixed traffic. Formula / decision rule: unspecified capacity is neither zero nor unlimited; queue only known independent/shared buckets

Frozen fixtureInputs and observationFormula / boundaryState
batch48-google-m3-r1
text chat · 1M-context request
principal/account=joined; endpoint=joined; model/pool=joined; bucket/window=joined; observed=2026-08-14
The primary identity and product joins are present for this frozen fixture.
unspecified capacity is neither zero nor unlimited; queue only known independent/shared buckets
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH SCOPE — frozen observation only.
batch48-google-m3-r2
image generation · cached repeat · live/stream
request/response/error=joined; limit/remaining/reset=observed; retry identity=joined; region=joined
The response evidence is usable only for the named bucket and time window; no neighboring provider is borrowed.
unspecified capacity is neither zero nor unlimited; queue only known independent/shared buckets
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
PASS WITH LIMIT — dated evidence only.
batch48-google-m3-r3
100 concurrent batch jobs · mixed traffic
workload=joined; prompt/output reserve=explicit; shared pool=declared; unknown=Unavailable; owner=platform
Admission or recovery is withheld where the account-specific value or side-effect identity is absent.
unspecified capacity is neither zero nor unlimited; queue only known independent/shared buckets
A missing provider, product, account, endpoint, model, bucket, or time-window join fails closed; no value is copied across routes.
UNAVAILABLE — live owner evidence required.

Provenance: Frozen Batch 48 google fixture: module 3 observation and calculation. First-party evidence checked 2026-08-14; unresolved joins fail closed. Surface verification date: 2026-08-14. Google Gemini API quota docs (first-party source)

Run the google Batch 48 evidence scenario →