EN ▾
Claim trial key

Cursor API Documentation and Quickstart

This uncensored LLM runs on an OpenAI compatible API, letting you swap in your own cursor API key or generate a new one for direct integration.

Authentication and Base URL Setup

Start by pointing your client to the base URL https://api.cursorapi.cc/v1 and passing your key in the authorization header. The system uses standard Bearer token authentication, so any OpenAI SDK works out of the box once you update the endpoint.

Sending Requests to /v1/chat/completions

Send your first prompt to the POST /v1/chat/completions endpoint with the model ID set to uncensored. This model answers without refusals for lawful adult content, giving you full control over the output. You pay only for real token usage, with errors being free, ensuring you never waste credit on silent failures.

cURL

curl https://api.cursorapi.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Summarize the key differences between the two models."}]
  }'

Python

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

Get your API key instantly

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

Claim trial key