Groq 429 Rate Limit Errors: RPM/TPM Caps, Retry-After and Multi-Provider Failover
Developers pick Groq for fast time-to-first-token and high token throughput, which makes hitting a 429 Too Many Requests jarring: a 10-second Retry-After pause wipes out the latency advantage you chose Groq for. This guide covers how Groq's rate-limit headers work, how to handle retries without stalling interactive apps, and how to fail over to another provider on a 429 with SentioGate. We build SentioGate, so we state its limits clearly below.
As of 2026-10-26. Groq's per-model limits change by tier; check Groq's official rate-limits page in the sources.
How Groq enforces rate limits
Groq's rate limits documentation tracks four counters per model at the organization level:
- RPM / RPD: Requests per minute and per day.
- TPM / TPD: Tokens per minute and per day.
Groq returns rate-limit headers on responses, and includes retry-after (in seconds) when a request is rejected with HTTP 429:
| Header | What it reports |
|---|---|
retry-after | Seconds to wait before retrying (sent on HTTP 429) |
x-ratelimit-remaining-requests | Remaining requests allowed in the current window |
x-ratelimit-remaining-tokens | Remaining tokens allowed in the current minute |
x-ratelimit-reset-requests / x-ratelimit-reset-tokens | Time until the request or token window resets |
Because limits apply to the organization, rotating multiple API keys from the same Groq organization will not bypass a 429.
Why waiting on Retry-After hurts real-time apps
For background batch jobs, sleeping for retry-after seconds in your client is fine. For chat UIs, voice agents or coding assistants, sleeping 5–20 seconds on a burst limit wipes out the latency advantage you chose Groq for. Falling back immediately to a second provider keeps the response moving while Groq's window resets.
Instant cross-provider failover with SentioGate
SentioGate is a hosted, OpenAI-compatible BYOK router. Add your Groq key alongside OpenAI, Gemini, Mistral, DeepSeek or OpenRouter keys in its encrypted Vault and send model: "auto":
- Honors
Retry-Afteracross requests. When Groq returns 429, SentioGate marks that model on that key as cooling down for theRetry-Afterduration so subsequent requests don't keep hitting the throttled endpoint. - Fails over to your next enabled model. While Groq cools down,
model: "auto"routes to the next healthy model you enabled in your Vault (for example on Gemini or OpenAI), then returns to Groq once the cooldown expires. - 0% token markup. Providers bill you directly on your own keys.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.sentiogate.dev/v1",
api_key=os.environ["SENTIOGATE_API_KEY"],
)
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Explain quicksort in two sentences."}],
)
print(resp.choices[0].message.content)
You can also view rolling 24-hour latency, TTFT and 429 rates on the live benchmarks page.
SentioGate's limits
- Backup models have different latency and output styles. Only enable fallback models in your Vault that meet your quality and speed requirements.
- Hosted only, with no
/v1/messagesendpoint and no MCP gateway today. See our gateway comparison. - Community pool is for evaluation only: without BYOK keys, requests use a shared community evaluation tier (150 requests per 5 hours per user during beta).
See also our Gemini 429 guide, OpenAI 429 guide and OpenRouter 429 guide.
Sources
All accessed 2026-10-26.
- Groq: Rate limits documentation, OpenAI compatibility
- SentioGate: docs, live benchmarks