Uncensored Chatbot APIDirect API access to one uncensored LLMGet API key

Uncensored Chatbot APIDocs

API Documentation & Quickstart

Get started with the uncensored chatbot api in minutes. This guide covers the base configuration, code examples for your preferred language, and the essential constraints you need to know.

uncensoredhttps://api.uncensoredchatbotapi.com/v1

Base URL and Authentication

To use the uncensored ai api, point your OpenAI-compatible client to our base URL: https://api.uncensoredchatbotapi.com/v1. This ensures all requests route directly to our dedicated GPU servers running the 'uncensored' model, avoiding the latency and routing complexity of aggregator services.

Authentication is handled via a Bearer token. Create an account at the Get API key page to receive your unique key. Include it in every request header. If you regenerate your key, the previous one becomes invalid immediately.

Required Header

  • Authorization: Bearer YOUR_API_KEY

First Request with cURL

Verify your integration by sending a simple text generation request. This endpoint supports standard chat-completions parameters. Replace YOUR_API_KEY with your actual key.

This call demonstrates the direct text-in, text-out behavior of the uncensored api. The model will respond without content refusals for lawful adult topics, though it strictly blocks sexual content involving minors.

curl https://api.uncensoredchatbotapi.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

Python SDK Integration

Use the official OpenAI Python library for easy integration. Set the base URL to our endpoint. This approach works with any OpenAI-compatible client library.

from openai import OpenAI

client = OpenAI(base_url="https://api.uncensoredchatbotapi.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 Integration

For JavaScript environments, use the @anthropic-ai/sdk or openai npm package. Configure the base URL and API key as shown below.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.uncensoredchatbotapi.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

For real-time user experiences, enable streaming. Set stream: true in your request. The server returns Server-Sent Events (SSE) containing partial token completions.

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, Errors, and Constraints

Understand the constraints before scaling your application. The uncensored llm api enforces a limit of 300 requests per minute per API key. The maximum request body size is 8 MB.

Common Errors

  • 401: Invalid or expired API key.
  • 402: Insufficient prepaid credit. Top up from $10 via crypto (USDT or USDC).
  • 429: Rate limit exceeded. Wait and retry.

Model Details

Use model ID uncensored. Context window is 100,000 tokens. Pricing is $0.25 per 1M input tokens and $1.00 per 1M output tokens.

API specifications

Use this table to decide whether the API fits your project before you buy credit.

FeatureSupport
CompatibilityOpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key
Base URLhttps://api.uncensoredchatbotapi.com/v1
API keyAuthorization: Bearer YOUR_KEY
Model IDuncensored
MethodsPOST /v1/chat/completions · GET /v1/models
Completion lengthup to 16,000 tokens per request (default 2,048)
Other parameterstemperature, top_p, stop, seed, presence_penalty, frequency_penalty
JSON modeJSON object mode via response_format json_object
SSE streamingSupported (stream: true), usage included at the end
Tools / tool callsSupported: tools + tool_choice, tool_calls in the reply (streamed too), tool results as role: tool messages
Max context100,000 tokens (prompt + completion together)
Parallel requests8 requests at the same time per key
HeadersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Max body8 MB request body
Requests per minute300 requests per minute per key
Trial credit$0.50 for 7 days, no card
Top-upUSDT (TRC20) or USDC (Base), any whole amount from $10 to $500
Bonus credit+5% from $50, +10% from $100
Billingpay as you go from prepaid credit; nothing is charged for failed or refused requests
Token prices$0.25 per 1M input tokens · $1.00 per 1M output tokens
Credit expiryno monthly fee; paid credit does not expire
Content policyuncensored for adults; the only hard rule: no sexual content involving minors
Sign-inGoogle or e-mail and password
Key managementone active key per account; a new key replaces the old one

HTTP errors

Errors come back as JSON with a stable type; failed and refused requests are not billed.

CodeTypeMeaning
400bad_requestinvalid JSON, empty messages, bad parameter, or prompt + max_tokens over the window — fix and resend
401missing_key · invalid_key · key_revokedno key, wrong key, or a key replaced by a newer one
402no_creditout of credit; add credit and retry
403content_blockedrefused by the content policy
404not_foundonly /v1/chat/completions and /v1/models exist
413request_too_largerequest body larger than 8 MB
429rate_limited · concurrencyover 300/min or 8 parallel — back off and retry
503upstream_busytemporary overload, retry shortly

Questions and answers

Is this the same as OpenRouter's uncensored models?

No. We run our own tuned open-weight model on dedicated hardware. Unlike aggregators that route through multiple providers, we provide a single, consistent endpoint. Check OpenRouter's documentation for their specific model details and pricing.

Do I need to upgrade my plan to use features?

No. There are no subscriptions or monthly fees. You pay as you go using prepaid credits. Credits never expire, and you can top up from $10. Features like streaming and tool calling are included in the base price.

What content is blocked?

The model does not refuse lawful adult, fictional, or controversial topics. However, we enforce a hard limit: sexual content involving minors is always blocked. Requests containing this content will be rejected.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Get API keyRead the docs