
Cohere API: Access, Rate Limits & SDKs 2026
Cohere's Chat API pairs with Embed and Rerank to form a retrieval-first RAG stack. A free evaluation key starts you; production keys and newer variants scale it.
Cohere API verdict
Cohere's Chat API authenticates with a bearer key and is called through the official cohere SDK, using ClientV2 and co.chat.
Or REST at https://api.cohere.com/v2/chat. The reply sits in message.content[0].text, and meta carries token and billing counts.
Build on Cohere's API when the application is enterprise retrieval, not general chat. The Chat endpoint's document grounding with citations, plus the Embed and Rerank endpoints, are a coherent RAG stack, and the open weights support private or on-prem deployment for data-sensitive environments. Start free with an evaluation key at 1,000 calls a month, and move to a production key for scale. Budget carefully, because token pricing is high and the newest Command variants need a sales conversation for production. Use the official cohere SDK through ClientV2 in Python, TypeScript or Java, and route to the right variant per task. Reach for Rerank to tighten retrieval quality rather than leaning on the base chat score.
- Two key types exist: a free evaluation key at 1,000 calls a month and 20 requests a minute, and a paid production key. Plan the tier before scaling.
- Production access to newer Command variants, like A+, Reasoning, Translate and Vision, requires contacting sales rather than self-serve.
- The response shape is Cohere's own, with message.content[0].text and a finish_reason like COMPLETE or MAX_TOKENS, not the OpenAI choices shape, so use the cohere SDK.
- The open weights are CC-BY-NC. Private and on-prem deployment is supported, but commercial self-hosting needs a separate license agreement.
- Auth
- Bearer CO_API_KEY (ClientV2)
- Base URL
- api.cohere.com/v2/chat
- Keys
- Free trial + paid production
- RAG stack
- Chat + Embed + Rerank
- SDKs
- Python, TypeScript, Java
Build with the Cohere API
import cohere
co = cohere.ClientV2(api_key="<CO_API_KEY>")
res = co.chat(
model="command-a-03-2025",
messages=[{"role": "user", "content": "Hello, Cohere"}],
)
print(res.message.content[0].text){
"id": "5a50480a-...",
"message": { "role": "assistant",
"content": [{ "type": "text", "text": "Hello! How can I help?" }] },
"finish_reason": "COMPLETE",
"meta": { "billed_units": { "input_tokens": 4, "output_tokens": 7 } }
}- Tier-1 limits (Command A (trial key)): 20 RPM.
- Cost levers: free evaluation key (1,000 calls/month); smaller Command R / R7B for cheaper calls; Rerank to cut tokens by tightening retrieval.
- Handle: 429 (rate limit (trial 20 req/min)), MAX_TOKENS (context limit hit before completion).
Real Cohere code from the official docs. The raw cURL hello-world is the code block above; full limits and endpoints are in the tables on this page.
Your first Cohere API request
curl https://api.cohere.com/v2/chat \
-H "Authorization: Bearer ${CO_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "command-a-03-2025",
"messages": [{"role": "user", "content": "Hello, Cohere"}]
}'How to authenticate with the Cohere API
| Aspect | Detail | Notes |
|---|---|---|
| Auth | Bearer CO_API_KEY | cohere.ClientV2(api_key=...) |
| Base URL | https://api.cohere.com (v2 Chat: /v2/chat) | Versioned v2 API |
| Key types | Evaluation (free, limited) and production (paid) | Create on the API keys page |
| SDKs | Python, TypeScript, Java (official) | ClientV2 with co.chat |
| Models | command-a-03-2025; A+, Reasoning, Vision, Translate; R/R+ | Pick the variant for the task |
| Retrieval models | Embed and Rerank on the same platform | Cohere's RAG ecosystem |
| Roles | user, assistant, system, tool | Each message has content + role |
Cohere core endpoints and features
| Capability | How | Purpose |
|---|---|---|
| Chat | POST /v2/chat (co.chat) | Generate text; response in message.content[0].text |
| Multi-turn | messages[] in order sent | Encapsulate a conversation in one request |
| System message | role: system (first in messages) | Control style and behavior over other roles |
| RAG / grounding | documents[] in co.chat | Grounded generation with inline citations (Cohere signature) |
| Tool use | tools[] + role: tool | Function calling for external data |
| Streaming | co.chat_stream | Stream tokens as generated |
| Embed | co.embed (2,000 inputs/min) | Vector embeddings for retrieval / search |
| Rerank | co.rerank (up to 1,000 req/min prod) | Reorder retrieved documents by relevance |
Rate limits, keys and deployment
| Limit | Detail | Notes |
|---|---|---|
| Trial keys | 1,000 API calls / month, 20 req/min | Free evaluation keys |
| Chat (Command A) | Trial 20 req/min; production 500 req/min | Same for Command R/R+/R7B |
| Newer variants | A+, Reasoning, Translate, Vision: contact sales for prod | Trial 20 req/min |
| Embed | 2,000 inputs/min (trial and production) | Images 5 / 400 inputs/min |
| Rerank | Trial 10 req/min; production 1,000 req/min | Retrieval reranking |
| Default endpoints | 500 req/min trial and production | Anything not otherwise listed |
| finish_reason | COMPLETE or MAX_TOKENS | MAX_TOKENS means the context limit was hit |
SDKs, retrieval stack and developer fit
| Aspect | Detail | Notes |
|---|---|---|
| SDKs | Python, TypeScript, Java (ClientV2) | co.chat / co.chat_stream / co.embed / co.rerank |
| Response shape | id, message.content[], finish_reason, meta | meta carries billed_units + tokens |
| RAG stack | Command + Embed + Rerank | Cohere's enterprise retrieval moat |
| Variant routing | Reasoning, Vision, Translate Command variants | Pick a variant per task; some gated by sales |
| Private deployment | Self-host / cloud / on-prem for data control | Open weights under CC-BY-NC (commercial needs license) |
| Support / scale | Contact sales for prod on newer variants | Rate-limit increases via support |
| API pricing (Command A) | $2.50/1M in, $10.00/1M out | Independent cross-reference; expensive for class |
Cohere API FAQ
How do I authenticate with the Cohere API?
Create a key on the Cohere API keys page, either a free evaluation key or a paid production key. Then use the official cohere SDK: create a ClientV2 with your api_key, and call co.chat with a model like command-a-03-2025 and your messages. The REST endpoint is https://api.cohere.com/v2/chat with a bearer token. The reply is in response.message.content[0].text, and meta carries token and billing counts.
What is the difference between Cohere trial and production keys?
Evaluation, or trial, keys are free but limited, at 1,000 API calls a month and 20 requests per minute on Chat. Production keys are paid and much less limited, reaching 500 requests per minute on Command A, and on Command R, R+ and R7B. Newer variants such as Command A+, Reasoning, Translate and Vision require contacting sales for production access.
What can the Cohere API do beyond chat?
Cohere's platform is built for retrieval. The Chat API supports system messages, multi-turn conversations, tool use and document-grounded generation with inline citations. Dedicated endpoints provide Embed, for vector embeddings at 2,000 inputs a minute, and Rerank, for relevance reordering at up to 1,000 requests a minute in production. Together, Command plus Embed plus Rerank form Cohere's RAG stack.
Which SDKs and models does Cohere offer?
Official SDKs in Python, TypeScript and Java, all using ClientV2, with co.chat, co.chat_stream, co.embed and co.rerank. Models include Command A and the newer command-a-plus, plus task variants: Command A Reasoning, Command A Vision for multimodal, and Command A Translate, alongside the smaller Command R, R+ and R7B. Pick the variant that matches the task.
Can I self-host Cohere's models?
The Command A weights are open under CC-BY-NC 4.0, so you can download and run them for research and in private or on-prem deployments for data control. However, commercial use of the weights requires a separate license agreement with Cohere, so most production usage runs through the paid API rather than free self-hosting.
Sources & verification
| Source | What was checked | Last checked |
|---|---|---|
| Cohere Official | Official product page | July 10, 2026 |
| Artificial Analysis | Independent reference | July 10, 2026 |
| Cohere Developer docs | Chat API | July 10, 2026 |
| Cohere Developer docs | Rate Limits | July 10, 2026 |
Every fact on this Cohere page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.
Explore Cohere
Every page on Cohere in one place, you are on api.
