Start now

API Documentation

This unfiltered AI chatbot API provides a direct, uncensored LLM endpoint for developers who need raw text generation without content guardrails. Use our OpenAI-compatible interface to send prompts and receive responses with transparent, per-token billing.

Base URL and Authentication

The unfiltered AI chatbot API operates at a single base URL: https://api.chatbotaiunfiltered.com/v1. You authenticate every request by including your unique API key in the Authorization header. This key is generated immediately upon account creation via Google or email. If the key is invalid, the API returns a 401 error.

First Request

Send your first prompt using the standard chat/completions endpoint. The uncensored model responds to lawful adult, controversial, or technical topics without the usual refusals. Pass your API key in the header and set the model ID to uncensored. The following example demonstrates a basic text generation request.

curl https://api.chatbotaiunfiltered.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Set timezone to utc"}]
  }'

This request returns a text completion. The uncensored AI model processes the input and generates a response based on its training. You can adjust parameters like temperature to control creativity. Errors such as insufficient credit return a 402 status code.

Python SDK Integration

Use the official OpenAI Python library to interact with the uncensored LLM API. Configure the client with your API key and the custom base URL. This approach allows you to use familiar methods like chat.completions.create() while leveraging the raw inference capabilities of the unfiltered model. Set the model explicitly to uncensored to ensure you are not routed to a filtered variant.

from openai import OpenAI

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

The library handles JSON serialization and streaming automatically. You can retrieve token usage from the response object. This method is ideal for backend services that need to integrate unfiltered text generation into existing workflows without rewriting HTTP clients.

Node SDK Integration

Integrate the uncensored API into Node.js applications using the official SDK. Pass the base URL and API key during client initialization. This setup ensures compatibility with standard OpenAI endpoints while delivering the unfiltered chatbot behavior you expect. Use the uncensored model ID to access the specific tuned weights.

import OpenAI from "openai";

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

The SDK manages request retries and error handling. You can stream responses or collect full text. This is useful for web applications that need real-time text generation. The uncensored AI API supports standard parameters like temperature and top_p for fine-tuning output style.

Streaming Responses via SSE

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE) containing incremental text chunks. The final chunk includes the full token usage statistics. This is essential for applications that display text in real-time, such as chat interfaces or live code editors. Streaming reduces perceived latency significantly.

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)

Parse the SSE stream to render text as it arrives. Each chunk contains only a portion of the response. The uncensored model maintains context across chunks. You can stop streaming early if the user changes their input. Error handling remains consistent with non-streaming requests.

Limits, Errors, and Context Window

The uncensored LLM API enforces a 100,000-token context window for both input and output combined. You can send up to 16,000 tokens per request if you specify max_tokens. Rate limits allow 300 requests per minute and 8 concurrent requests per key. A 429 error indicates you have exceeded these limits. Request bodies must not exceed 8 MB. Errors like missing credit return 402, while invalid keys return 401. Credit never expires, so you can pause usage without losing funds.

Common questions

What is the unfiltered AI chatbot context window?

The context window is 100,000 tokens, counting both the prompt and the completion. You can request up to 16,000 tokens for output per call. This allows for long documents or extensive conversations within a single request.

Why does my unfiltered AI API request fail with 402?

A 402 status code indicates that your prepaid credit is exhausted. The uncensored AI API charges per token, so you must top up with crypto to continue. Errors and refusals are free, so only actual usage consumes credit. Credit never expires, so you can add funds later.

Does the unfiltered AI chatbot block adult content?

The model does not refuse lawful adult, fictional, or controversial topics. It only blocks sexual content involving minors, which is a hard limit. You can use it for erotic roleplay, security research, or raw data generation without standard guardrails.

Get your API key

Register, copy your key, update the base URL. That is the entire process.

Start nowView documentation