Claim trial key

Uncensored Grok API Documentation

Uncensor Grok API delivers unhinged, open-weight text generation via a standard OpenAI-compatible endpoint. Stop wrestling with filters and start building with a model that answers directly.

Authentication and Base URL

Get your key immediately via Google or email on the key page. No phone number required for signup.

Direct your requests to https://api.uncensorgrok.com/v1 and pass your API key in the Authorization header.

  • Base URL: https://api.uncensorgrok.com/v1
  • Model ID: uncensored
  • Auth: Bearer token
curl https://api.uncensorgrok.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the capital of France"}]
  }'

The /v1/chat/completions Endpoint

Send text to our API and receive text back. We only support chat completions. No embeddings, no images, no audio.

Use the official OpenAI SDKs by updating the base URL. Point your client to our endpoint and use the model ID uncensored.

from openai import OpenAI

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

Integrate uncensored Grok behavior into your Node applications with minimal code changes.

Configure the Node client to point to our base URL. Pass your API key and the model ID to start generating text.

import OpenAI from "openai";

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

Stream real-time text updates via Server-Sent Events (SSE). Token usage data appears in the final chunk.

This approach reduces perceived latency for long-form content generation.

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)

Function Calling and JSON Mode

Enable structured outputs with response_format: {"type": "json_object"} or use tools for function calling.

Our model supports tool_choice and standard parameter tuning for predictable parsing.

Rate Limits and Request Constraints

You get 300 requests per minute and 8 concurrent requests per key. Requests are limited to an 8 MB body.

Errors and refusals do not consume your prepaid credit. Context window is 100,000 tokens total. Max output is 16,000 tokens.

FAQ

How do I get my uncensored Grok API key?

Go to the key page and sign up with Google or email. Your API key appears immediately. No phone number is needed.

What happens if I get a 402 error?

A 402 error means your prepaid credit is exhausted. Top up with USDT (TRC20) or USDC (Base) starting at $20. Credit never expires.

Is the Grok API uncensored for adult content?

Yes. Our model does not refuse lawful adult, fictional, or controversial topics. We only block sexual content involving minors.

Get your key now

Sign up, copy your key, update the base URL. That is all.

Claim trial key