The uncensored LLM API
The uncensored LLM API is one base URL, https://api.pentestllm.ai/v1, that serves abliterated and security-tuned builds in the OpenAI and Anthropic wire formats. Billing is per token from a prepaid balance that starts at $10, and the service is for authorized security work.
curl https://api.pentestllm.ai/v1/messages \
-H "x-api-key: sk-ptl-live-…" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "auto/security",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Draft a detection rule for this log pattern and explain each condition."}]
}'
Three values move an existing client
If your code already calls a hosted model, it needs three changes: the base URL, the key and the model id. Nothing else about the request has to change, because the API speaks the wire formats the common SDKs already send. The response’s model field names the build that answered.
from openai import OpenAI
client = OpenAI(base_url="https://api.pentestllm.ai/v1", api_key="sk-ptl-live-…")
reply = client.chat.completions.create(
model="auto/security",
messages=[{"role": "user", "content": "Map these findings to CWE ids for the report."}],
)
print(reply.model, reply.choices[0].message.content)Routes and wire formats
- Chat completions
POST https://api.pentestllm.ai/v1/chat/completions. The OpenAI chat format, which most agents and SDKs send.- Responses
POST https://api.pentestllm.ai/v1/responses. The OpenAI Responses format, for clients built on it.- Completions
POST https://api.pentestllm.ai/v1/completions. The older prompt-in, text-out format, for tools that still use it.- Messages
POST https://api.pentestllm.ai/v1/messages. The Anthropic format, for the Anthropic SDK and Claude Code.
Every listed build answers on each of these routes, so the choice of format belongs to your client, not to the model. The key goes in the Authorization header as a bearer token, or in x-api-key for Anthropic-format clients. Streaming uses the usual stream flag.
What differs from build to build
- Tool calls
- Supported on some builds. An agent that edits files or runs commands needs one of these.
- Structured output
- Builds that take
response_formatreturn JSON matching a schema you send, which suits pipelines. - Reasoning
- Some builds expose a reasoning mode for multi-step analysis.
- Image input
- Some builds read images, such as a screenshot attached to a finding. The rest are text only.
- Context window
- Published per build on the models page. The largest security build takes 1M tokens.
The routes are uniform and the builds are not. Each build publishes the request parameters it supports, and a client should read them instead of assuming. Sending tools to a build that does not take them is the most common integration mistake.
Billing to the token
Each build has an input price and an output price per million tokens, and a request is charged for the tokens it used at the price of the build that answered. The balance is prepaid by card from $10. There is no subscription, no seat licence and no minimum monthly spend, and a request that would overdraw the balance is refused, not billed.
A non-streamed answer returns its settled charge in the x-uplink-charge header, so a script can log the cost of every call beside its result. Every answer also carries x-uplink-request-id, which is the value to quote if you write to support. The pricing page has the same figures as the table below.
Rate limits and retries
Each key has a request rate limit, and it is lower during an account’s first day. Past the limit the API answers 429 with a retry-after header, so a batch job should wait and retry instead of failing the run. The docs list the other error codes and show a streamed request.
Who may call it
The API is for lawful security work: penetration testers, red teams, bug bounty hunters, CTF players and the people who build tools for them. You must own the systems you test or hold written permission, and that covers requests your own users or agents send through something you build on the API. Uncensored describes how often the models decline. It does not change the acceptable use policy.
For the router’s tiers and the tools the API runs on its side, see the cybersecurity LLM API page. For the builds themselves, see uncensored LLMs.
74 uncensored and abliterated builds, priced per token
Read from the live catalog on 2026-11-12. Prices are US dollars per million tokens, paid from a prepaid balance that starts at $10. The id auto/security has no price of its own: each request is billed at the build that answered.
Questions
Yes. Point any OpenAI SDK or client at https://api.pentestllm.ai/v1, use your key as the API key and send a build id or auto/security as the model.
Yes. The Messages endpoint at https://api.pentestllm.ai/v1/messages takes Anthropic-format requests, with the key in the x-api-key header or as a bearer token.
Streaming is supported with the stream flag. Tool calling depends on the build, and each model page lists the parameters that build supports.
Per token, at the input and output price of the build that answered, from a prepaid balance. The smallest top-up is $10 by card and there is no subscription.
Yes, per key, and it is lower during an account’s first day. Past it the API answers 429 with a retry-after header.
People doing lawful security work on systems they own or have written permission to test. The acceptable use policy sets out what is not allowed.
Read next
- Uncensored LLMThe uncensored and abliterated builds on one key, with live prices and context windows.
- Cybersecurity LLM APIThe API itself: endpoints, the auto/security router, server tools and per-token prices.
- Abliterated modelsHosted abliterated builds by API, with no weights to download or GPU to rent.
- Agent guidesWhere the base URL and key go in OpenCode, Claude Code, Cursor, Cline, aider, Kali MCP and PentestGPT.
One key, from $10
PentestLLM is for systems you own or have written permission to test. The acceptable use policy says what is not allowed.
- Input, 8,000 tokens at $0.40 per million
- $0.0032
- Output, 1,000 tokens at $2.40 per million
- $0.0024
- One turn
- $0.0056
- 1,000 turns
- $5.60