Groq API Rate Limits Explained: 429 Errors, Tiers, and Fixes
Most Groq failures that look like an outage are actually your own quota. Here is how to read Groq's rate-limit headers, which tier ceiling you are hitting, and how to engineer around it.
📡 Monitor your APIs — know when they go down before your users do
Better Stack checks uptime every 30 seconds with instant Slack, email & SMS alerts. Free tier available.
Affiliate link — we may earn a commission at no extra cost to you
When Groq requests start failing, the first question every team asks is whether the service is down. Usually it is not. A 429 Too Many Requests response is Groq enforcing your quota, and it affects only your API key — everyone else is running fine.
That distinction matters because the fixes are completely different. An outage means failover. A rate limit means backoff, batching, or a tier upgrade. This guide covers how Groq meters usage, how to read the limits off every response, and what to change when you keep hitting the ceiling.
Quick triage: 429 means rate limited (your quota). 401 means a bad key. 500, 502, 503 or a connection timeout means Groq itself is having problems — check live Groq status before you change any code.
How Groq Meters Your Usage
Groq enforces limits across requests per minute (RPM), requests per day (RPD), tokens per minute (TPM) and tokens per day (TPD). You are throttled the moment any single one of those dimensions is exhausted, which is why an app that sends very few requests can still get 429s if each request is enormous.
The quirk that catches most teams: Groq applies limits per model, not per account. Hitting the ceiling on llama-3.3-70b-versatile does not block llama-3.1-8b-instant, which makes model-level failover the cheapest fix for bursty traffic.
See 429s Before Your Users Do
Track error rates and latency on your AI endpoints continuously, so quota exhaustion shows up on a dashboard instead of in a support ticket.
Try Better Stack Free →Read the Rate-Limit Headers
Every Groq response carries headers describing your remaining budget. Log them and you can see a 429 coming minutes before it lands, instead of discovering it in production.
| Header | What it tells you |
|---|---|
x-ratelimit-limit-requests | Requests allowed in the current window (RPM/RPD) |
x-ratelimit-remaining-requests | Requests left before the next 429 |
x-ratelimit-limit-tokens | Tokens allowed in the current window (TPM/TPD) |
x-ratelimit-remaining-tokens | Tokens left in the current window |
retry-after | Seconds to wait before retrying, sent on some 429 responses |
Dump them for a single call with a verbose cURL:
curl -i https://api.groq.com/openai/v1/chat/completions \
-H "Authorization: Bearer $GROQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"llama-3.3-70b-versatile","messages":[{"role":"user","content":"ping"}]}' \
| grep -i "ratelimit\|retry-after"Exact numeric ceilings change as Groq adjusts capacity and pricing, so treat the headers on your own traffic as the source of truth rather than any number copied from a blog post — including this one.
Groq Rate Limit Tiers
Limits scale with account tier. The jump from the free or trial tier to a paid one is almost always the largest single increase available to you.
| Tier | What to expect |
|---|---|
| Free | Generous per-model RPM but tight daily token caps. Fine for prototyping, not for production traffic. |
| Developer / paid | Higher RPM and TPM, and the daily token ceiling stops being the binding constraint for most apps. |
| Enterprise | Negotiated throughput with dedicated LPU capacity and custom burst allowances. |
Current per-tier numbers live in the Groq Console (console.groq.com). Check there before assuming you need an enterprise contract — plenty of teams are throttled purely because billing was never enabled on the key.
Handling 429s Properly: Backoff with Jitter
A naive retry loop makes rate limiting worse: every throttled client retries at the same instant and the next window is exhausted immediately. Exponential backoff with jitter spreads the retries out.
async function callGroq(body, attempt = 0) {
const res = await fetch('https://api.groq.com/openai/v1/chat/completions', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.GROQ_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(body),
});
if (res.status === 429) {
if (attempt >= 5) throw new Error('Groq rate limit: retries exhausted');
// Respect retry-after when present, otherwise back off exponentially with jitter
const retryAfter = Number(res.headers.get('retry-after')) || 0;
const backoff = retryAfter * 1000 || (2 ** attempt) * 500 + Math.random() * 500;
await new Promise((r) => setTimeout(r, backoff));
return callGroq(body, attempt + 1);
}
if (res.status >= 500) throw new Error('Groq outage - fail over to a backup provider');
return res.json();
}Two details matter more than the loop itself. First, cap your retries — infinite retry against a daily quota just burns your own compute for hours. Second, treat 5xx differently from 429: a 429 should wait, a 500 should fail over.
Rotate Groq Keys Without Downtime
Teams that split traffic across multiple API keys need somewhere safe to store them. Keep provider keys managed and rotated instead of pasted into env files.
Try 1Password Free →Five Ways to Stop Hitting the Ceiling
1. Cap client-side concurrency
Put a queue in front of Groq with a fixed worker count. Uncapped parallelism is the single most common cause of 429s in batch jobs — the fix costs nothing and needs no plan upgrade.
2. Cache aggressively
Identical or near-identical prompts are extremely common in production. A cache keyed on the normalized prompt removes that traffic from your quota entirely.
3. Trim your token footprint
Token-metered limits punish bloated system prompts and unbounded chat history. Truncating context is often equivalent to a free tier upgrade.
4. Route by tier of work
Send cheap classification and routing calls to a smaller, higher-limit model and reserve the flagship model for the requests that genuinely need it.
5. Keep a second provider warm
A fallback configured in advance turns a quota wall into a latency blip. Overflow traffic reroutes instead of erroring.
Fallback Providers for Groq Overflow
Each provider maintains an independent quota pool, so overflow routing genuinely doubles your effective ceiling — unlike retries, which just re-queue against the same exhausted budget.
Together AI
Independent quota pool. Route overflow traffic here when Groq returns 429.
Check Together AI status →Mistral
Independent quota pool. Route overflow traffic here when Groq returns 429.
Check Mistral status →OpenAI
Independent quota pool. Route overflow traffic here when Groq returns 429.
Check OpenAI status →Rate Limit or Real Outage? A 60-Second Check
- Read the status code. 429 is quota. 401 is a key problem. 5xx and timeouts are Groq.
- Check the headers. If remaining requests or tokens are at zero, you have your answer.
- Try a second key. If a different key on a different account works, the problem is your quota, not the service.
- Check groqstatus.com and live Groq monitoring for a confirmed incident.
- Try a smaller model. Limits are frequently per model, so a working sibling model points squarely at quota rather than infrastructure.
For the full outage-side playbook, see our Is Groq Down? Outage Checking Guide.
Frequently Asked Questions
What does a 429 error from the Groq API mean?
A 429 Too Many Requests response means you exceeded a Groq rate limit, not that Groq is down. Groq meters requests per minute (RPM), requests per day (RPD), tokens per minute (TPM) and tokens per day (TPD). Read the rate-limit headers on the response to see which dimension you exhausted, wait for the window to reset, and retry with exponential backoff. If you also see 500 or 503 responses across multiple keys, that is a genuine outage instead.
How do I check my current Groq rate limits?
Every Groq API response carries rate-limit headers showing your ceiling and how much of it is left. Log those headers in your client and you will see a 429 coming before it happens. Your account-level limits and current usage are also shown in the Groq Console (console.groq.com).
How do I increase my Groq rate limit?
Move off the free or trial tier first, since that single change lifts the ceiling more than anything else. Developer / paid limits are materially higher. Beyond that, contact Groq sales for enterprise or dedicated capacity, and reduce demand-side pressure with caching, batching and prompt trimming before you pay for headroom.
Is a Groq 429 the same as a Groq outage?
No. A 429 is your own quota being enforced and it affects only your key. An outage returns 500, 502, 503 or connection timeouts and affects everyone. The fastest way to tell them apart is to check groqstatus.com and to test the same request with a second API key.
What is the best way to handle Groq rate limits in production?
Use exponential backoff with jitter, respect the retry-after header when it is present, cap client-side concurrency, and keep a fallback provider configured so overflow traffic reroutes instead of failing. Monitoring both latency and error rate on the Groq endpoint tells you when you are approaching the ceiling.
Related Groq Guides
Know Instantly Whether It Is You or Groq
API Status Check monitors Groq and every other provider in your stack, so a 429 spike and a real outage never look the same again.
Start Your Free Trial →Alert Pro
14-day free trialStop checking — get alerted instantly
Next time Groq goes down, you'll know in under 60 seconds — not when your users start complaining.
- Email alerts for Groq + 9 more APIs
- $0 due today for trial
- Cancel anytime — $9/mo after trial
🌐 Can't Access Groq?
If Groq is working for others but not for you, it might be an ISP or regional issue. A VPN can help bypass network-level blocks and routing problems.
Troubleshoot with a VPN
Connect from a different region to test if the issue is local to your network. Also protects your connection on public Wi-Fi.
Try NordVPN — 30-Day Money-Back GuaranteeSecure Your Groq Account
Service outages are a common time for phishing attacks. Use a password manager to keep unique, strong passwords for every account.
Try NordPass — Free Password Manager⏳ While You Wait — Try These Alternatives
🛠 Tools We Use & Recommend
Tested across our own infrastructure monitoring 200+ APIs daily
SEO & Site Performance Monitoring
Used by 10M+ marketers
Track your site health, uptime, search rankings, and competitor movements from one dashboard.
“We use SEMrush to track how our API status pages rank and catch site health issues early.”