Switch your client in three lines
Connect your existing DeepSeek-style coding client to our uncensored API in minutes. Switch base URLs, set your key, and start generating code without subscription traps.
Authentication Setup
To begin, you need an API key. Sign up on the Get API key page using Google or an email address. Your key appears immediately. No phone number or credit card is required for the account, though you will need crypto to top up credits later.
Set your environment variable or client configuration to use the key you received. This key authenticates all requests to our endpoint. If you receive a 401 error, verify that the key is correct and not expired. Our system ties one active key per account; generating a new key replaces the old one instantly.
Basic Chat Completion
Our API follows the OpenAI chat-completions format. Point your client to our base URL and send a POST request with your messages. The model ID to use is "uncensored". This open-weight model is tuned to answer without content refusals for lawful adult use.
Below is a cURL example showing the basic structure. Replace YOUR_API_KEY with your actual key.
curl https://api.deepseekcoder.top/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."}]
}'Remember that errors and refusals are free. You only pay for tokens successfully processed. The base URL is https://api.deepseekcoder.top/v1.
Python SDK Integration
Using the official OpenAI Python SDK is straightforward. Initialize the client with our base URL and your API key. This allows you to keep your existing code structure while switching the backend model.
The code below demonstrates a simple completion call. The client handles serialization automatically. Ensure your requests stay within the 8 MB body limit. Each request consumes input and output tokens based on the model's processing.
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseekcoder.top/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)This approach works with any OpenAI-compatible client library. You can swap the base URL to test different providers or stick with our uncensored endpoint for coding tasks.
Node.js SDK Usage
For JavaScript developers, the Node.js OpenAI SDK works identically. Configure the apiKey and baseURL properties in your client instance. This ensures all subsequent calls route to our servers.
The example below shows how to make a request. The response contains the generated text and token usage statistics. You can integrate this directly into your build pipelines or local development scripts.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.deepseekcoder.top/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);No additional libraries are required beyond the standard OpenAI package. The endpoint supports standard HTTP methods and headers expected by OpenAI-compatible clients.
Streaming Responses
For real-time coding assistance, enable streaming by setting stream: true. The API returns Server-Sent Events (SSE). Each chunk contains partial text, and the final chunk includes the total token usage.
Streaming reduces perceived latency for developers waiting for code generation. The last chunk provides the billable token count. This allows your application to update the UI incrementally.
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)Handle the stream events appropriately in your client. The model generates text token by token, which is ideal for interactive coding environments or live documentation tools.
Limits, Errors, and Context
Our API enforces specific limits to ensure stability. You can make 300 requests per minute per key, with a concurrency limit of 8 simultaneous requests. The request body must not exceed 8 MB.
Common errors include 401 (invalid key), 402 (insufficient credit), and 429 (rate limit). Your prepaid credit covers token usage; errors do not consume credit. The context window is 64,000 tokens total (prompt + completion). Max output is 16,000 tokens per request, or 2,048 if max_tokens is unset. Credit never expires, and no monthly fees apply.
Questions and answers
Does this API support image or audio generation?
No. We serve one uncensored large language model for text in and text out. There are no embeddings, image, audio, or video generation endpoints, and no fine-tuning capabilities.
What happens if I double-charge my account?
Credit is not refunded as it never expires. However, mistakes such as a double charge are fixed through the Support page. Contact us directly to resolve billing discrepancies.
Is the model trained on my data?
No. An account needs only an email, and prompts are not used for training. Your data remains private and is not used to improve the model outside your specific requests.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.