hu ▾

API Documentation

We provide an uncensored LLM API endpoint that functions as a drop-in replacement for standard OpenAI integrations. You can route your existing client code to our servers with minimal configuration changes.

uncensoredhttps://api.apigrok.cc/v1

Authentication and Base URL

Your API key authenticates every request to our hosted endpoint. You must include the key in the Authorization header using the Bearer scheme. Our base URL is https://api.apigrok.cc/v1. This URL works with the official OpenAI SDKs and any compatible client by updating the base URL configuration. We offer a trial balance for new accounts.

Chat Completions Endpoint

The POST /v1/chat/completions endpoint processes your text input and returns a generated response. You specify the model ID as uncensored to access our tuned large language model. The model accepts up to 100,000 tokens for the combined prompt and completion. Output is limited to 16,000 tokens per request unless you adjust the max_tokens parameter. This setup supports direct text generation without extra complexity.

curl https://api.apigrok.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the available endpoints and their latency stats"}]
  }'

Streaming and Token Usage

You can enable streaming by setting the stream parameter to true. This returns a Server-Sent Events (SSE) stream of partial responses. Token usage data is included in the final chunk of the stream. This approach reduces perceived latency for your end users. You can process the stream in your application logic to display tokens as they generate.

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

Our API supports function calling via the tools and tool_choice parameters. You can also enforce structured output using response_format with the value json_object. These features allow you to integrate the API into larger systems or automate data extraction. The model handles tool definitions and parses the resulting arguments accurately.

from openai import OpenAI

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

Node developers can use the standard OpenAI SDK with our base URL. This ensures compatibility with existing JavaScript and TypeScript libraries. You simply point the SDK to our endpoint and provide your API key. The library handles the request formatting and response parsing automatically.

import OpenAI from "openai";

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

Rate Limits and Concurrency

Each API key is limited to 300 requests per minute. You can send up to 8 concurrent requests simultaneously. The maximum request body size is 8 MB. If you exceed the rate limit, you will receive a 429 error. A 401 error indicates an invalid or missing API key. A 402 error means your prepaid credit is exhausted. Errors do not consume your token balance. Your credit never expires, so you can top up later.

Frequently asked questions

What is the base URL for the API?

The base URL is HTTPS://api.apigrok.cc/v1. You must update your client configuration to point to this address instead of the standard OpenAI endpoint.

What happens if I get a 402 error?

A 402 error means your prepaid credit balance is zero. You can top up with USDT or USDC to restore access. Your existing credit does not expire, so you can add funds at any time.

Does the uncensored model support function calling?

Yes, the model supports tool definitions and JSON mode. You can use the <code>tools</code> parameter to define functions and request structured JSON output.

Get your API key now

Sign up, copy the key, update your base URL. Simple.

Try with trial credit