fr ▾
Get your key

Uncensored coding API, no refusals, direct access.

Quickstart: Uncensored Coding API

Get your uncensored coding API key in seconds and start sending requests immediately. This guide covers the essential endpoints, streaming, and tool calling for the DeepSeek coding API you need.

Authentication & Base URL

Start by generating your key on the Get API key page via Google or email. You receive a single active key per account that replaces any previous one immediately.

Use this key in the Authorization header for all requests. The base URL for the DeepSeek coding API is fixed and works with any OpenAI-compatible client.

Change the base_url in your SDK to point to our servers. No phone number is required for signup.

Chat Completions Endpoint

Send your coding prompts to the POST /v1/chat/completions endpoint. The model ID to specify is uncensored.

This endpoint handles text input and returns text output. It does not support images, audio, or embeddings.

Use the standard message format with roles like user and assistant. The API refuses nothing except sexual content involving minors.

Streaming & Usage Data

Enable streaming by setting stream: true in your request. You receive chunks of text as they are generated.

The final chunk contains the complete usage data, including token counts for both input and output.

This approach reduces perceived latency for long code blocks. It is ideal for building interactive coding assistants.

Tool Calling & JSON Mode

Define tools in your request to allow the model to call functions. Use tool_choice to control when the model decides to call a tool.

Set response_format to {"type": "json_object"} for strict JSON output. This ensures your parser receives valid data every time.

Function calling works seamlessly with the uncensored model. You can integrate it into your existing workflow without changes.

Parameters: Temperature, Top-P, Seed

Control creativity with temperature. Higher values produce more varied code suggestions.

Use top_p to limit the token pool. Set seed for reproducible results during testing.

Other parameters include stop sequences, presence_penalty, and frequency_penalty. Adjust these to fine-tune the model's behavior for your specific use case.

Model ID & Context Window

The model ID is always uncensored. It runs on our servers and is not a resold vendor model.

The context window is 100,000 tokens total. This includes both the prompt and the completion.

Max output per request is 16,000 tokens. If you do not set max_tokens, the limit defaults to 2,048 tokens. Plan your prompts accordingly to fit within these constraints.

Rate Limits & Errors

You are limited to 300 requests per minute per key. Concurrency is capped at 8 simultaneous requests.

The request body must not exceed 8 MB. Errors like 401 indicate an invalid key. 402 means you have no credit. 429 signals rate limiting.

Errors and refusals do not consume your prepaid credit. Pay only for successful token usage. Top up with crypto when needed.

cURL

curl https://api.deepseekcodingapi.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "explain how this regex matches email addresses"}]
  }'

Python

from openai import OpenAI

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

Frequently asked questions

What is the base URL for the DeepSeek coding API?

The base URL is HTTPS://api.deepseekcodingapi.com/v1. Use this URL with any OpenAI-compatible SDK by updating the client configuration.

How do I handle streaming responses?

Set the <code>stream</code> parameter to true in your request. The API returns chunks of text, with the final chunk containing the full usage data.

What happens if I hit the rate limit?

You receive a 429 status code. The limit is 300 requests per minute per key. You can retry after the window resets or wait for concurrent requests to finish.

Retrieve your key now

Sign up, grab the token, update the base URL. That is the complete workflow.

Get your key