API Documentation
Start generating text with our open-weight uncensored model using standard OpenAI SDKs. Configure your base URL and key to bypass content filters for lawful adult use.
Authentication and Base URL
Use your API key with the base URL https://api.gptunrestricted.com/v1. Pass the key in the Authorization header as a bearer token. This works with any OpenAI-compatible client by changing base_url and the key.
- Sign up via Google or email to get your key immediately.
- One active key per account; a new key replaces the old one.
First Request
Send a POST request to /v1/chat/completions with model uncensored. Include your message and receive text output. Errors and refusals are free.
curl https://api.gptunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a list of top ten coffee shops near me"}]
}'
Python SDK Integration
Install the OpenAI package and set the environment variable OPENAI_BASE_URL. Initialize the client with your API key and model. This ensures consistent performance for long-form generation.
from openai import OpenAI
client = OpenAI(base_url="https://api.gptunrestricted.com/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 SDK Usage
Use the openai npm package. Set the base URL and API key in the constructor. Request completions with the uncensored model ID.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gptunrestricted.com/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. Receive Server-Sent Events (SSE) for real-time token output. Token usage details appear in the last chunk.
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)
Rate Limits and Errors
Limit is 300 requests per minute per key. Max concurrent requests: 8. Request body max: 8 MB. Errors include 401 for invalid keys, 402 for no credit, and 429 for rate limits. Context window is 100,000 tokens total.
Common questions
What is the unrestricted GPT model?
It is an open-weight model tuned to answer without content refusals for lawful adult use. It is not GPT, Claude, or any other vendor's model.
Which payment methods do you accept?
Crypto only: USDT on TRC20 or USDC on Base, any whole amount from $20 to $500. Bonus credit applies from $50.
What are the rate limits?
300 requests per minute and 8 concurrent requests per key. The context window is 100,000 tokens.
Get your API key
Sign up, copy the key, update the base URL. That is all required.