API Documentation
OpenAI-compatible and Anthropic-compatible API endpoints. Drop in your API key and start making requests — zero config changes needed.
10+
AI Models
Including Claude, DeepSeek, Qwen
2
API Formats
OpenAI & Anthropic compatible
SSE
Streaming
Real-time token streaming
Quick Start
Get up and running in under a minute.
Make your first request
Use the example below to send your first API call.
curl -X POST https://api.unlimitedclaude.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "claude-sonnet-4.6",
"messages": [{"role": "user", "content": "Hello!"}]
}'Authentication
All API requests require an API key. You can pass it via the x-api-key header or the Authorization: Bearer header. You can find your key in the Dashboard.
curl https://api.unlimitedclaude.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"model": "claude-sonnet-4.6", "messages": [...]}'Base URL
All endpoints are relative to this base URL.
https://api.unlimitedclaude.com/v1/v1/chat/completions.Chat Completions
/v1/chat/completions—OpenAI-compatible endpointWorks with any SDK or tool that supports the OpenAI chat format.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Model ID to use |
| messages | array | Required | Array of message objects with role and content |
| stream | boolean | Optional | Enable SSE streaming (default: false) |
| max_tokens | integer | Optional | Maximum tokens to generate |
| temperature | number | Optional | Sampling temperature (0-1) |
Example
curl -X POST https://api.unlimitedclaude.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "claude-sonnet-4.6",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 256
}'Response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "claude-sonnet-4.6",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The capital of France is Paris."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 8,
"total_tokens": 33
}
}Messages API
/v1/messages—Anthropic-compatible endpointUse this if your tooling expects the native Anthropic format.
Headers
| Header | Required | Description |
|---|---|---|
| x-api-key | Required | Your API key |
| anthropic-version | Optional | API version (format: YYYY-MM-DD, e.g. 2023-06-01) |
Example
curl -X POST https://api.unlimitedclaude.com/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4.6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in simple terms."}
]
}'Response
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4.6",
"content": [
{
"type": "text",
"text": "Quantum computing uses quantum bits (qubits) that can exist in multiple states simultaneously..."
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 15,
"output_tokens": 64
}
}Streaming
Set "stream": true in your request body to receive Server-Sent Events (SSE). The response streams token-by-token instead of waiting for the full completion.
curl -X POST https://api.unlimitedclaude.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "claude-sonnet-4.6",
"stream": true,
"messages": [{"role": "user", "content": "Write a haiku about coding."}]
}'Content-Type: text/event-stream and follow the standard SSE format. Each chunk is prefixed with data:.Response
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"delta":{"content":"Silent"},"index":0}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"delta":{"content":" keys"},"index":0}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}
data: [DONE]Models
Available models depend on your plan. All models are accessed through the same endpoints.
free Plan5 models
claude-haiku-4.5claude-opus-4.6claude-sonnet-4.6deepseek-3.2minimax-m2.1starter Plan8 models
claude-3.7-sonnetclaude-haiku-4.5claude-sonnet-4claude-sonnet-4.5claude-sonnet-4.6deepseek-3.2minimax-m2.1qwen3-coder-nextpro Plan10 models
claude-3.7-sonnetclaude-haiku-4.5claude-opus-4.5claude-opus-4.6claude-sonnet-4claude-sonnet-4.5claude-sonnet-4.6deepseek-3.2minimax-m2.1qwen3-coder-nextRate Limits
Limits are applied per-user based on your plan. Exceeding limits returns a 429 status.
| Plan | Daily Requests | Concurrent Requests |
|---|---|---|
| free | 150 | 1 |
| starter | 5,000 | 2 |
| pro | 5,000 | 4 |
X-RateLimit-Remaining and X-RateLimit-Reset.Error Codes
Standard HTTP status codes indicate success or failure.
| Status | Meaning | Resolution |
|---|---|---|
| 200 | Success | Request completed successfully |
| 400 | Bad Request | Check your request body and parameters |
| 401 | Unauthorized | Verify your API key is correct |
| 403 | Forbidden | Model not on your plan, email not verified, or free trial expired |
| 429 | Rate Limited | Wait or upgrade your plan for higher limits |
| 502 | Upstream Error | Model provider issue — retry after a moment |
Error Response Format
{
"error": "Daily request limit reached. Upgrade your plan for more requests."
}Claude Code Setup
Use UnlimitedClaude as the backend for Claude Code across CLI, VS Code, and other editors.
1. Terminal (CLI)
Set these environment variables to route Claude Code CLI requests through UnlimitedClaude.
export ANTHROPIC_BASE_URL=https://api.unlimitedclaude.com
export ANTHROPIC_API_KEY=YOUR_API_KEY
# To persist, add to your shell profile:
echo 'export ANTHROPIC_BASE_URL=https://api.unlimitedclaude.com' >> ~/.bashrc
echo 'export ANTHROPIC_API_KEY=YOUR_API_KEY' >> ~/.bashrc
source ~/.bashrcclaude config set customApiKeyUse true or open ~/.claude/.config and set "customApiKeyUse" to true.2. VS Code Extension
If you use the Claude Code VS Code extension, configure it through VS Code settings.
Open VS Code Settings
Press Ctrl + , (Windows/Linux) or Cmd + , (macOS) to open Settings.
Search for Claude Code
Type claude code in the search bar, then find the Environment Variables setting.
Add environment variables
Click Edit in settings.json and add the configuration below.
// settings.json
{
"claudeCode.environmentVariables": [
{
"name": "ANTHROPIC_BASE_URL",
"value": "https://api.unlimitedclaude.com"
},
{
"name": "ANTHROPIC_API_KEY",
"value": "YOUR_API_KEY"
}
]
}3. Cursor / Other Editors
For Cursor or any editor that supports Claude, set the same environment variables in your system or shell profile. Most editors pick them up automatically.
// Cursor: Settings > Models > Claude
// Set the API Base URL to:
https://api.unlimitedclaude.com
// Set the API Key to:
YOUR_API_KEYCoding Agents
Use UnlimitedClaude with popular coding agents like Cline, Continue, Aider, and more via the OpenAI-compatible API.
Cline (VS Code)
Open Cline Settings
Click the Cline icon in the sidebar, then click the gear icon to open settings.
Select API Provider
Choose OpenAI Compatible or Anthropic from the provider dropdown.
Configure Connection
Set the Base URL and API Key, then pick a model from the dropdown.
Base URL: https://api.unlimitedclaude.com/v1
API Key: YOUR_API_KEY
Model: claude-sonnet-4.6Continue (VS Code / JetBrains)
Add this to your ~/.continue/config.json:
{
"models": [
{
"provider": "openai",
"title": "UnlimitedClaude",
"model": "claude-sonnet-4.6",
"apiBase": "https://api.unlimitedclaude.com/v1",
"apiKey": "YOUR_API_KEY"
}
]
}Aider
Set environment variables and run Aider with the OpenAI-compatible flag:
export OPENAI_API_BASE=https://api.unlimitedclaude.com/v1
export OPENAI_API_KEY=YOUR_API_KEY
aider --model openai/claude-sonnet-4.6$https://api.unlimitedclaude.com/v1 as the base URL. For Claude Code and Anthropic SDKs, use $https://api.unlimitedclaude.com without the /v1 suffix (they append it automatically).SDK Integration
Use your preferred SDK — just point it at the UnlimitedClaude base URL.
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://api.unlimitedclaude.com/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="claude-sonnet-4.6",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)Python (Anthropic SDK)
import anthropic
client = anthropic.Anthropic(
base_url="https://api.unlimitedclaude.com",
api_key="YOUR_API_KEY",
)
message = client.messages.create(
model="claude-sonnet-4.6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content[0].text)JavaScript / TypeScript
const response = await fetch("https://api.unlimitedclaude.com/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
model: "claude-sonnet-4.6",
messages: [{ role: "user", content: "Hello!" }],
}),
});
const data = await response.json();
console.log(data);Ready to get started?
Create a free account and get your API key in seconds. No credit card required.