API Reference

API Developer Docs

The same humanize, paraphrase, grammar, and AI-detection engines that power the app — over a simple REST API. Available on the Pro and Ultra plans.

Authentication

Create a key in Settings → API (Pro/Ultra). Send it as a Bearer token on every request over HTTPS. Treat it like a password — it's shown only once.

Base URL: https://supwriter.com/api/v1

Quickstart

1

Get your API key Pro/Ultra plans

2

Make a request Pick a feature and language

JavaScript · Humanize
const res = await fetch("https://supwriter.com/api/v1/humanize", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SUPWRITER_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ text: "Your text here." }),
});

const { success, data, error } = await res.json();
if (!success) throw new Error(error.code);
console.log(data.humanized_text);

What you can do with the API

Four endpoints, one key. Every call consumes word credits from your plan — here's the cost of each.

1 credit / word of input

Humanize

Rewrite AI-generated text so it reads as naturally human-written and passes detectors.

POST /api/v1/humanize
1 credit / word of output

Paraphrase

Rephrase while preserving meaning, then humanize — standard, formal, casual, academic, or creative.

POST /api/v1/paraphrase
1 credit / word of output

Grammar check

Fix grammar, spelling, and punctuation, then humanize — basic, thorough, or style.

POST /api/v1/grammar
1 credit / word analyzed

AI detection

Score text against 12 detectors with a sentence-level breakdown. Free in the SupWriter web app — metered (1 credit per word) on the API and MCP.

POST /api/v1/detect

Plans & limits

The developer REST API is available on the Pro and Ultra plans. MCP connects on every plan — Pro and Ultra additionally unlock REST API keys and static-token (headless) MCP.

Most popular

Pro

$19.99/mo
  • REST API + static-token MCP access
  • 60 requests / minute
  • 1,500 words per request
  • 15,000 word credits / month
  • All 100+ languages
  • All 4 tools: humanize, paraphrase, grammar, detect
Upgrade to Pro

Ultra

$39.99/mo
  • REST API + static-token MCP access
  • 120 requests / minute
  • 3,000 words per request
  • 30,000 word credits / month
  • All 100+ languages
  • All 4 tools + priority support
Choose Ultra

API access requires Pro or Ultra. Every call — including AI detection — consumes word credits (in the web app, detection is free; the API meters it). Need more? Buy extra credits or compare plans.

Build it with your AI agent

Copy one prompt — your agent reads the full skill.md spec and builds all four tools.

Build with AIView skill.md

One prompt, every tool. Paste it into your AI coding agent — it reads the full spec at /skill.md and builds humanize, paraphrase, grammar, and detection in one go.

Your stack
Target stack: Next.js.

Integrate the SupWriter text API into my app.

Read the full spec and follow it exactly: https://supwriter.com/skill.md
It documents authentication (a server-side "Authorization: Bearer sw_live_…" key), the base URL https://supwriter.com/api/v1, and four POST endpoints — /humanize, /paraphrase, /grammar, /detect — each returning { "success": true, "data": {…} }, plus the error codes, rate limits (Pro 60 / Ultra 120 requests per minute), and per-word credit billing.

Build a typed client for all four tools that:
- reads the API key from a server-side env var, never the browser (HTTPS only),
- unwraps "data", maps "error.code" to typed errors, and retries 429s honoring Retry-After,
- then add a small UI to humanize, paraphrase, grammar-check, and AI-detect text.

Use my existing stack and conventions, and keep the key server-side only.
Works with
OpenAI
ChatGPT
Claude
Claude
Claude Code
Claude Code
Codex
Codex
Cursor
Cursor
GithubCopilot
GitHub Copilot
Antigravity
Antigravity
opencode
OpenCode
+ any other AI agent

Endpoints

Humanize

Rewrite AI-generated text so it reads as naturally human-written.

POST https://supwriter.com/api/v1/humanize

Request body

Request
{
  "text": "Your AI-generated text here.",   // required
  "intensity": "medium",                      // optional: low | medium | high
  "format": "plain",                          // optional: plain | markdown
  "language": "english",                      // optional
  "tone": "general",                          // optional
  "purpose": "general"                        // optional
}

Response

Response
{
  "success": true,
  "data": {
    "humanized_text": "The humanized output.",
    "word_count": 42,
    "credits_used": 42,
    "credits_remaining": 14958,
    "processing_time_ms": 8120
  }
}

Paraphrase

Rephrase while preserving meaning, then humanize the result.

POST https://supwriter.com/api/v1/paraphrase

Request body

Request
{
  "text": "Text to paraphrase.",   // required
  "mode": "standard",               // optional: standard | formal | casual | academic | creative
  "language": "english"             // optional
}

Response

Response
{
  "success": true,
  "data": {
    "paraphrased_text": "The paraphrased output.",
    "word_count": 40,
    "credits_used": 40,
    "processing_time_ms": 7600
  }
}

Grammar check

Fix grammar, spelling, and punctuation, then humanize the result.

POST https://supwriter.com/api/v1/grammar

Request body

Request
{
  "text": "Text too correct.",   // required
  "mode": "basic",                // optional: basic | thorough | style
  "language": "english"           // optional
}

Response

Response
{
  "success": true,
  "data": {
    "corrected_text": "Text to correct.",
    "word_count": 3,
    "credits_used": 3,
    "processing_time_ms": 5400
  }
}

AI detection

Score text for AI authorship with per-detector verdicts and a sentence breakdown.

POST https://supwriter.com/api/v1/detect

Request body

Request
{
  "text": "Text to analyze."   // required
}

Response

Response
{
  "success": true,
  "data": {
    "detection_score": 12,
    "detectors": { "turnitin": "right", "gptzero": "right", "...": "..." },
    "sentences": [{ "sentence": "...", "score": 5, "classification": "HUMAN_ONLY" }],
    "word_count": 120,
    "credits_used": 120,
    "credits_remaining": 14880,
    "processing_time_ms": 3100
  }
}

Errors

Errors use the envelope { "success": false, "error": { "code", "message" } } with a matching HTTP status.

StatusCodeMeaning
401invalid_api_keyMissing or invalid API key.
403plan_requiredAPI access requires a Pro or Ultra plan.
400invalid_inputMissing or malformed 'text'.
403insufficient_creditsNot enough word credits on your plan.
403plan_limitText exceeds your plan's per-request word limit.
403language_not_availableRequested language requires a higher plan.
429rate_limitedToo many requests — slow down (see rate limits).
500provider_errorUpstream processing failed; safe to retry.

Rate limits & usage

  • Rate limit: Pro 60 / Ultra 120 requests per minute, per key. Over the limit returns 429 rate_limited.
  • Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; a 429 also sends Retry-After.
  • Per-request word caps: Pro 1,500 words, Ultra 3,000 words.
  • Every call consumes your plan's word credits — including AI detection, which the API meters (it's free only in the web app).
  • Track requests over time in Settings → API — a 30-day usage chart broken down by tool.

Using your key with MCP

The SupWriter MCP server normally uses OAuth, but it also accepts an API key — useful for dev tools (Cursor, Claude Code, the CLI). Configure the connector with an Authorization: Bearer sw_live_… header to skip the browser sign-in.

Key safety

  • Store keys server-side (a secret manager / environment variable) — never in client-side code or git.
  • Use a separate key per app or environment so you can revoke one without breaking the others.
  • If a key is exposed, revoke it in Settings → API and create a new one. Revocation is immediate for new requests.

FAQ

How do I get an API key?

On a Pro or Ultra plan, go to Settings → API and click Create API key. The key is shown once — store it securely.

How is usage billed?

Each call draws on your plan's word credits, the same pool the web app uses — including AI detection, which the API meters (it's free only in the web app).

What are the rate limits?

Pro: 60 requests/minute. Ultra: 120 requests/minute, per API key.

Where can I see my API usage?

Settings → API shows a usage chart — requests per day broken down by tool — for the last 30 days.

Ready to build?

Create a key and make your first call in a minute.

Get your API key