Grok Uncensored: First request in five minutes

Integrate the uncensored model in minutes by pointing your existing OpenAI client to our base URL and passing your API key.

Base URL and Authentication

Our API is fully compatible with the OpenAI SDKs. You only need to update the base_url and provide your key in the Authorization header. Sign up via Google or email to receive your key instantly. No phone number or credit card is required to start. Use the uncensored model ID for all requests.

Authentication is handled via Bearer tokens. Ensure your key is sent in every request header. If you receive a 401 error, your key is invalid or expired. Our service is independent and does not resell other vendors' models.

Basic Chat Completion

Send a standard POST request to /v1/chat/completions. The API accepts text input and returns text output. You can define system prompts to guide the model's behavior. The model responds without refusals for lawful adult content, fiction, or controversial topics.

Specify the model as uncensored in your payload. The context window supports up to 64,000 tokens total. Max output is 16,000 tokens per request. Errors and refusals do not consume credit.

Streaming Responses

Enable streaming by setting stream: true. The API returns Server-Sent Events (SSE). Each chunk contains incremental text updates. The final chunk includes token usage statistics for billing transparency.

Streaming is ideal for real-time UI updates. Parse the SSE stream to display text as it generates. This reduces perceived latency for users. The API handles the streaming protocol automatically.

Function Calling

Define tools in the tools parameter. The model can return structured tool calls. Use tool_choice to force specific behaviors. This enables integration with external systems and workflows.

Function calling works with the standard OpenAI format. Parse the response to execute the requested tools. The model maintains context across function calls. This is useful for automated agents and data extraction tasks.

JSON Mode

Set response_format to {"type": "json_object"} for strict JSON output. The model will format its response as valid JSON. This is useful for parsing structured data in applications.

JSON mode ensures consistent formatting. Use it when your downstream code expects specific schema structures. The model adheres to the requested format. This reduces the need for additional parsing logic.

Parameters, Limits, and Errors

Control generation with temperature, top_p, and stop sequences. The rate limit is 300 requests per minute per key. You can have up to 8 concurrent requests. Request bodies must not exceed 8 MB. A 402 error indicates insufficient credit. A 429 error means you have hit the rate limit. Credit is prepaid and never expires. Errors are free.

cURL

curl https://api.grokuncensored.cc/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

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

Questions and answers

How do I top up my credit?

Top up using crypto only (USDT on TRC20 or USDC on Base). Amounts range from $10 to $500. Bonus credit is added for larger top-ups. No credit cards or PayPal are accepted.

Is this an official Grok API?

No, we are an independent service. We host an open-weight uncensored model on our own servers. It is not GPT, Claude, or any other vendor's model. Check the vendor's documentation for their specific API details.

What happens if I make a mistake?

Errors and refusals are free. If you are double-charged, use the Support page to fix it. Credit never expires, so you can use it whenever you are ready.

Your key is one form away

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

Get API key