Hosted uncensored LLM API

Get API key
per 1M input tokens
$0.25
Output tokens / 1M
$1.00
token context
64,000

Quickstart for Ollama users

Migrate your Ollama client to our uncensored API by updating the base URL and passing your key. This quickstart covers the essential endpoints, streaming, and function calling with our OpenAI-compatible service.

Base URL & Authentication

Our API is OpenAI-compatible, meaning you can use existing client libraries with minimal changes. The base URL is https://api.ollamaapi.top/v1. You must include your API key in the Authorization header as a Bearer token. Unlike major providers, we do not charge monthly fees or require credit cards. You can sign up with Google or an email/password to get a key instantly. All requests are authenticated via this key, and you are limited to one active key per account. If you generate a new key, the previous one becomes invalid immediately. This setup ensures you can route traffic to our uncensored model without modifying your application logic beyond the base URL and credentials.

First Request

Start by sending a simple chat completion request. Use the model ID "uncensored" to access our tuned large language model. The endpoint accepts POST requests to /v1/chat/completions. You can send messages with roles like "user" or "assistant". The API returns text output directly. No embeddings or image generation are available in this endpoint. If you need to switch from another provider, only change the base URL and the model name. Our service processes text in and text out efficiently. Use the following curl command to test the connection and verify your key works correctly.

Python SDK Integration

Using the official OpenAI Python library is the easiest way to integrate. Initialize the client with your custom base URL and API key. Set the model to "uncensored" for our service. You can then call chat.completions.create with your messages. This approach works for most standard use cases. The library handles JSON serialization and HTTP requests automatically. You do not need to install extra dependencies if you already use the OpenAI SDK. This method is reliable for batch processing or simple scripts. Replace the dummy key with your actual key from the dashboard. The code sample below shows how to initialize and call the API.

Node.js SDK Usage

For JavaScript and TypeScript developers, the @anthropic-ai/sdk or @openai/openai packages work well. Initialize the client with the base URL https://api.ollamaapi.top/v1. Pass your API key in the apiKey field. Set the model to "uncensored". Call chat.completions.create with your message array. The response contains the generated text in choices[0].message.content. This integration allows you to build serverless functions or web apps quickly. The Node.js ecosystem provides robust error handling and type safety. Use this pattern to integrate uncensored generation into your frontend or backend logic. The example below demonstrates the initialization and request flow.

Streaming Responses

Enable streaming by setting stream to true in your request. The API returns a Server-Sent Events (SSE) stream. Each chunk contains partial text updates. This reduces perceived latency for end-users. The final chunk includes the token usage statistics. Streaming is ideal for chat interfaces and real-time applications. You can parse the stream to display text as it generates. The API respects the max_tokens parameter even in streaming mode. Use the appropriate SDK method for streaming in your language. The code snippet below shows how to handle the stream in Python.

Limits, Errors & Context

Our API has strict limits to ensure stability. You can send 300 requests per minute per key. Only 8 requests can be active simultaneously. The request body must be under 8 MB. The context window is 64,000 tokens total, with a max output of 16,000 tokens. If you exceed the rate limit, you will receive a 429 error. A 401 error means your key is invalid. A 402 error indicates insufficient credit. Errors and refusals are free. The context window includes both prompt and completion. Manage your token usage carefully to avoid truncation. Our pricing is transparent: $0.25 per 1M input tokens and $1.00 per 1M output tokens. Prepaid credit never expires.

cURL

curl https://api.ollamaapi.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."}]
  }'

Python

from openai import OpenAI

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

Node.js

import OpenAI from "openai";

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

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

Is this an official Ollama API?

No, this is an independent hosted API. We run our own uncensored model on our servers. It is compatible with the Ollama API format but is not served by Ollama itself.

What happens if I run out of credit?

You will receive a 402 error on subsequent requests. Your prepaid credit never expires, so you can top up anytime. We accept USDT (TRC20) and USDC (Base) for top-ups.

Does the model refuse content?

The model is uncensored and does not refuse lawful adult, fictional, or controversial topics. The only hard limit is no sexual content involving minors, which is always blocked.

Your key is one form away

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

Get API key