API Documentation for Developers
Drop our uncensored LLM into your existing pipeline with a single base URL change and your API key. This quickstart gets you from zero to streaming tokens in minutes using standard OpenAI-compatible clients.
Authentication & Base URL
Start by setting your base URL and API key in your client configuration. Our service uses standard headers, so you do not need a custom library.
- Base URL:
https://api.chatgptunrestricted.cc/v1 - Model ID:
uncensored - Auth: Bearer token via
Authorization: Bearer YOUR_KEY
You get your key immediately after signing up with Google or email. No phone number is required.
Your First Request
Send a standard chat completion request to generate text without content filters.
- Endpoint:
POST /v1/chat/completions - Model:
uncensored - Max output: 16,000 tokens
This works with any OpenAI SDK by simply changing the base URL.
curl https://api.chatgptunrestricted.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Summarize the technical specs of the new GPU architecture"}]
}'
Python SDK Setup
Use the official Python library to integrate our API into your scripts.
- Install with
pip install openai - Set
base_urlto our endpoint - Set
api_keyto your key
The client handles JSON serialization automatically.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatgptunrestricted.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Node.js Integration
Integrate with Node.js applications using the standard OpenAI package.
- Install with
npm install openai - Configure the client with our base URL
- Call
chat.completions.create()
This approach works for both server-side and edge functions.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatgptunrestricted.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Streaming Responses
Enable streaming by setting stream: true in your request.
- Receives tokens via Server-Sent Events
- Last chunk includes usage statistics
- Reduces perceived latency for long outputs
This is ideal for chat interfaces that need real-time text updates.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Limits & Error Codes
Monitor your quota to avoid service interruptions.
- 300 requests per minute per key
- 8 concurrent requests per key
- 8 MB max request body
Common errors include 401 for invalid keys, 402 for insufficient credit, and 429 for rate limits. Errors do not consume credit.
Frequently asked questions
Is this API truly unrestricted?
Yes, our model does not refuse lawful adult, controversial, or fictional content. The only hard limit is sexual content involving minors, which is always refused.
How do I pay for the API?
We accept crypto only: USDT on TRC20 or USDC on Base. You can top up with any whole amount from $20 to $500. Credit never expires.
What is the context window size?
The model supports a 100,000 token context window for both prompt and completion combined. The maximum output per request is 16,000 tokens.
Unlock your API key
Sign up, grab your key, and point your client to the new base URL. That is all you need to do.