Cohere API Rate Limits Explained: 429 Errors, Tiers, and Fixes
Most Cohere failures that look like an outage are actually your own quota. Here is how to read Cohere'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 Cohere 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 Cohere 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 Cohere 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 Cohere itself is having problems — check live Cohere status before you change any code.
How Cohere Meters Your Usage
Cohere enforces limits across calls per minute, applied separately to each endpoint family (chat, embed, rerank, classify). 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: Cohere applies separate limits per endpoint family. A RAG pipeline can be throttled on Embed while Chat is still completely healthy, which looks like a partial outage but is really two independent quotas. Instrument each endpoint separately.
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 Cohere 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 | Calls allowed in the current window for this endpoint |
x-ratelimit-remaining | Calls left before the next 429 |
x-ratelimit-reset | Seconds until the window resets |
retry-after | Seconds to wait before retrying |
Dump them for a single call with a verbose cURL:
curl -i https://api.cohere.com/v2/chat \
-H "Authorization: Bearer $COHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"command-a-03-2025","messages":[{"role":"user","content":"ping"}]}' \
| grep -i "ratelimit\|retry-after"Exact numeric ceilings change as Cohere 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.
Cohere 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 |
|---|---|
| Trial key | Hard low ceiling per endpoint and a monthly call cap. Trial keys are explicitly non-commercial. |
| Production key | Substantially higher per-minute ceilings on every endpoint once billing is enabled. |
| Enterprise / private deployment | Limits set by the provisioned capacity in your own cloud or a negotiated contract. |
Current per-tier numbers live in the Cohere dashboard (dashboard.cohere.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 callCohere(body, attempt = 0) {
const res = await fetch('https://api.cohere.com/v2/chat', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.COHERE_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(body),
});
if (res.status === 429) {
if (attempt >= 5) throw new Error('Cohere 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 callCohere(body, attempt + 1);
}
if (res.status >= 500) throw new Error('Cohere 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 Cohere 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 Cohere 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 Cohere 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.
Mistral
Independent quota pool. Route overflow traffic here when Cohere returns 429.
Check Mistral status →OpenAI
Independent quota pool. Route overflow traffic here when Cohere returns 429.
Check OpenAI status →Anthropic
Independent quota pool. Route overflow traffic here when Cohere returns 429.
Check Anthropic 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 Cohere.
- 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 status.cohere.com and live Cohere 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 Cohere Down? Outage Checking Guide.
Frequently Asked Questions
What does a 429 error from the Cohere API mean?
A 429 Too Many Requests response means you exceeded a Cohere rate limit, not that Cohere is down. Cohere meters calls per minute, applied separately to each endpoint family (chat, embed, rerank, classify). 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 Cohere rate limits?
Every Cohere 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 Cohere dashboard (dashboard.cohere.com).
How do I increase my Cohere rate limit?
Move off the free or trial tier first, since that single change lifts the ceiling more than anything else. Production key limits are materially higher. Beyond that, contact Cohere sales for enterprise or dedicated capacity, and reduce demand-side pressure with caching, batching and prompt trimming before you pay for headroom.
Is a Cohere 429 the same as a Cohere 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 status.cohere.com and to test the same request with a second API key.
What is the best way to handle Cohere 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 Cohere endpoint tells you when you are approaching the ceiling.
Related Cohere Guides
Know Instantly Whether It Is You or Cohere
API Status Check monitors Cohere 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 Cohere goes down, you'll know in under 60 seconds — not when your users start complaining.
- Email alerts for Cohere + 9 more APIs
- $0 due today for trial
- Cancel anytime — $9/mo after trial
🌐 Can't Access Cohere?
If Cohere 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 Cohere 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.”