ro ▾
Create key

API Documentation

OpenAI-compatible uncensored API

Start generating text with our uncensored LLM API in under a minute. Use standard OpenAI SDKs to send requests to our single, dedicated endpoint.

Base URL and authentication

Your API key authenticates every request. Send it as a bearer token in the Authorization header. The base URL points directly to our chat-completions endpoint. Change the base_url in your SDK configuration to match this address. All other headers remain standard for OpenAI-compatible clients. No extra parameters are required for basic text generation.

Make your first request

Send a POST request to the chat completions endpoint. Include your model ID and the prompt message. The model ID is uncensored. You receive a text response in the choices array. This works with any HTTP client or SDK. You can test connectivity instantly with a simple curl command.

Python SDK integration

Use the official OpenAI Python package to interact with our API. Set the API key and base URL in the client constructor. Pass the model ID uncensored in your chat completion call. The SDK handles JSON serialization automatically. You get structured data back for easy parsing in your application logic.

Node.js SDK integration

Install the OpenAI Node package and initialize the client with your credentials. Configure the base URL to point to our service. Set the model to uncensored in your messages array. The library manages the request lifecycle and error handling. This approach works well for server-side applications and scripts.

Streaming responses with SSE

Enable streaming by setting the stream parameter to true. The API returns a Server-Sent Events stream. Each chunk contains partial text and token usage data. This reduces perceived latency for long outputs. You can render tokens as they arrive in your UI. The final chunk includes the total token count.

Rate limits and error handling

You have a limit of 300 requests per minute per key. Concurrent requests are capped at eight. If you exceed these limits, you receive a 429 error. A 401 error indicates an invalid or missing API key. A 402 error means you have insufficient prepaid credit. Errors and refusals do not consume tokens. The context window supports 100,000 tokens total.

cURL

curl https://api.grokisuncensored.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Show me the exact syntax for a GET request with curl"}]
  }'

Python

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

FAQ

Is grok is uncensored? and how does it differ from the official model?

Our service is an independent API running an open-weight model tuned for fewer content refusals. It is not the official Grok model from xAI. It behaves similarly for many prompts but uses different underlying weights. Check the pricing page for specific token costs.

Can I use the official OpenAI SDKs with this API?

Yes, our endpoint is fully OpenAI-compatible. You only need to update the base URL and API key in your SDK configuration. The model ID <code>uncensored</code> replaces the standard GPT model ID. All standard parameters like temperature and top_p work as expected.

What happens if my prepaid credit runs out?

Requests will return a 402 error until you top up your account. You can add credit using USDT or USDC via crypto. Your existing credit never expires, so you can add funds at any time. No subscription fees apply to your account.

Get your key instantly

Sign up, copy the key, update the base URL. That is the entire configuration.

Create keyView documentation