Trial free 4 min read

Cohere API Not Working?

Cohere API 401, deprecated domain error (.ai → .com), outdated model IDs, trial key rate limit, EU endpoint confusion, or Embed/Rerank failing? Check live status and fix it fast.

Cohere live status

Cohere — live status

Updated every 5 minutes. Full history at prismix.dev/service/cohere.

Full status →

What's wrong? Diagnose fast

🔑

API 401 / deprecated domain

Old domain api.cohere.ai is deprecated. Use api.cohere.com (not .ai). Header: Authorization: Bearer YOUR_KEY. Python SDK: pip install cohere --upgrade, then cohere.ClientV2(api_key="YOUR_KEY"). Check your key at dashboard.cohere.com → API Keys.

🔍

Model not found (404)

Deprecated: command-light, command-xlarge, command-nightly. Use: command-r-plus (best quality), command-r (balanced), command-r-plus-08-2024 (frozen version). For embed: embed-english-v3.0 or embed-multilingual-v3.0. For rerank: rerank-english-v3.0.

Rate limit 429 on trial key

Trial keys: 100 RPM, 1,000 calls/month, 1GB embed throughput. If hitting 429 on trial: implement exponential backoff (retry 1-5s) or upgrade at dashboard.cohere.com. Trial key vs production key shown in dashboard under API Keys.

🇪🇺

EU data residency required

Use https://api.eu.cohere.com for EU data residency. SDK: cohere.Client(api_key="YOUR_KEY", base_url="https://api.eu.cohere.com"). The EU endpoint has identical API surface — just change the domain. Do NOT use api.cohere.com when GDPR compliance requires EU routing.

📐

Embed API returning wrong dimensions

embed-english-v3.0 returns 1024-dimensional vectors. embed-english-light-v3.0 returns 384 dimensions. embed-multilingual-v3.0 returns 1024. If your index was built with a different dimension, rebuild it. Also: you must pass input_type (search_document or search_query) — missing it returns 400.

🔧

Rerank API not improving results

Rerank works on top of initial retrieval — it is NOT a standalone search. Pass your query + top-50 to 100 candidate documents. If you pass fewer than 5 documents, reranking has little effect. Model: rerank-english-v3.0 (English only) or rerank-multilingual-v3.0 (100+ languages). Return top_n from the result (default = all documents, reranked).

Cohere API quick reference (v2 SDK)

Python SDK v2 — chat

import cohere

co = cohere.ClientV2(api_key="YOUR_KEY")  # use ClientV2 for v2 API

response = co.chat(
    model="command-r-plus",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.message.content[0].text)

Embed API (with required input_type)

response = co.embed(
    texts=["Hello world", "Cohere embeddings"],
    model="embed-english-v3.0",
    input_type="search_document",  # REQUIRED — missing this = 400 error
    embedding_types=["float"],
)
print(len(response.embeddings.float[0]))  # 1024

Rerank API

response = co.rerank(
    model="rerank-english-v3.0",
    query="What is RAG?",
    documents=["doc1 text...", "doc2 text...", ...],  # pass 20-100 candidates
    top_n=5,  # return top 5 reranked
)
for r in response.results:
    print(r.index, r.relevance_score)

Current Cohere model IDs

Model ID Type Context / Dim
command-r-plus Chat 128K tokens
command-r Chat 128K tokens
command-r-plus-08-2024 Chat (frozen) 128K tokens
embed-english-v3.0 Embed 1024 dim
embed-multilingual-v3.0 Embed 1024 dim, 100+ lang
embed-english-light-v3.0 Embed (fast) 384 dim
rerank-english-v3.0 Rerank English only
rerank-multilingual-v3.0 Rerank 100+ languages

Step-by-step fix

  1. 1

    Check live Cohere status

    Visit prismix.dev/service/cohere. Also check status.cohere.com.

  2. 2

    Fix 401 and deprecated domain

    Update base URL from api.cohere.ai to api.cohere.com. Upgrade SDK: pip install cohere --upgrade. Switch to cohere.ClientV2(api_key="YOUR_KEY"). Header: Authorization: Bearer YOUR_KEY.

  3. 3

    Fix deprecated model IDs

    Replace old model names: command → command-r-plus; command-light → command-r; embed-english-v2.0 → embed-english-v3.0. Get current IDs from the table above.

  4. 4

    Fix rate limit 429 (trial key)

    Trial keys have a 100 RPM and 1,000 calls/month cap. Implement exponential backoff: catch 429, wait 2^attempt seconds before retry. Or upgrade at dashboard.cohere.com to a production key with higher limits.

  5. 5

    Fix Embed 400 (missing input_type)

    Cohere v3 embed models require input_type: use "search_document" for data you are storing and "search_query" for queries. Using the wrong type degrades retrieval quality. Missing it entirely returns a 400 error.

🔔

Get alerted when Cohere goes down

Star Cohere on Prismix and get emailed the moment status changes. Free, no credit card.

Frequently asked questions

Why is Cohere API not working?

Cohere API issues: (1) 401 or deprecated domain — change base URL from api.cohere.ai to api.cohere.com, upgrade SDK; (2) model 404 — use command-r-plus, command-r, embed-english-v3.0, rerank-english-v3.0 (old names like command-xlarge are removed); (3) rate limit 429 — trial keys capped at 100 RPM/1k monthly; (4) Embed 400 — add input_type parameter; (5) outage — check prismix.dev/service/cohere.

Is Cohere down right now?

Check prismix.dev/service/cohere for live Cohere API status. Also status.cohere.com.

Cohere deprecated endpoint error — how to fix?

The old domain api.cohere.ai is deprecated. Update your base URL to https://api.cohere.com/v2. Upgrade the SDK: pip install cohere --upgrade. In code, switch from cohere.Client() to cohere.ClientV2() which defaults to v2 endpoints and the new domain. If using REST directly, also update your URL.

What are the current Cohere model IDs?

Chat: command-r-plus (best quality, 128K), command-r (balanced, 128K), command-r-plus-08-2024 (frozen). Embed: embed-english-v3.0 (1024 dim), embed-multilingual-v3.0 (1024 dim), embed-english-light-v3.0 (384 dim). Rerank: rerank-english-v3.0, rerank-multilingual-v3.0. Old names (command-light, command-xlarge, embed-english-v2.0) return 404.

Cohere Embed API returning 400 — how to fix?

Cohere v3 embed models require input_type. Pass "search_document" for data going INTO your database, "search_query" for live queries. Also add embedding_types=["float"] to get float vectors. Missing input_type = 400. Wrong input_type = embeddings that work but return poor retrieval quality.

Related AI APIs