API Overview
The SupWriter API provides programmatic access to the same humanization engine that powers our web interface. You send AI-generated text, and the API returns humanized text that bypasses all major AI detectors. The endpoint handles authentication, processing, and response in a single synchronous call.
Base URL: https://api.supwriter.com/v1
Authentication is via Bearer token. You get your API key from the dashboard after signing up for a Pro, Ultra, or Enterprise plan. All requests require HTTPS. The API returns standard HTTP status codes and JSON error bodies.
Quick Start: cURL
The simplest way to test the API. Replace YOUR_API_KEY with your actual key:
curl -X POST https://api.supwriter.com/v1/humanize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Your AI-generated text goes here.",
"intensity": "medium",
"format": "plain"
}'Response:
{
"success": true,
"data": {
"humanized_text": "The humanized output appears here.",
"word_count": 7,
"processing_time_ms": 8420,
"detection_score": {
"estimated_ai_probability": 0.03
}
}
}Python Integration
For Python applications, content pipelines, and data workflows:
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.supwriter.com/v1"
def humanize_text(text, intensity="medium"):
response = requests.post(
f"{BASE_URL}/humanize",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={
"text": text,
"intensity": intensity,
"format": "plain",
},
)
response.raise_for_status()
return response.json()["data"]["humanized_text"]
# Example usage
ai_draft = "Your AI-generated content goes here..."
human_version = humanize_text(ai_draft)
print(human_version)JavaScript / Node.js Integration
For web applications, CMS plugins, and Node.js services:
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.supwriter.com/v1";
async function humanizeText(text, intensity = "medium") {
const response = await fetch(`${BASE_URL}/humanize`, {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
text,
intensity,
format: "plain",
}),
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const result = await response.json();
return result.data.humanized_text;
}
// Example usage
const aiDraft = "Your AI-generated content goes here...";
const humanVersion = await humanizeText(aiDraft);
console.log(humanVersion);API Parameters
The /humanize endpoint accepts the following parameters in the JSON request body:
text(required) — The AI-generated text to humanize. Maximum length depends on your plan: 1,500 words for Pro, 3,000 words for Ultra, custom for Enterprise.intensity(optional, default: "medium") — Humanization strength. Options: "light", "medium", "heavy". Light makes minimal changes for content that's already close to human. Heavy is for raw AI output that needs maximum transformation.format(optional, default: "plain") — Input format. Options: "plain" for plain text, "html" for HTML content with preserved markup.language(optional, default: "en") — Target language. Currently supports: en, es, fr, de, pt, it, nl.callback_url(optional) — For async processing. If provided, the API returns immediately with a job ID and sends results to your callback URL when processing completes.
Common Integration Patterns
Here are the most common ways developers integrate the SupWriter API:
- CMS post-processing. Hook into your CMS publish workflow. When a post is saved as draft, trigger the API to humanize the content before it moves to review. Works with WordPress (via custom plugin), Contentful (via webhook), and any CMS with an API.
- Content pipeline automation. Add humanization as a step in your content generation pipeline. AI generates the draft, your pipeline sends it to SupWriter's API, and the humanized version gets stored in your database or forwarded to editors.
- SaaS feature integration. Build humanization into your own product. Content platforms, writing tools, and marketing automation software can offer "humanize" as a feature powered by SupWriter's API behind the scenes. Requires an Enterprise plan with reseller license.
- Batch processing. For high-volume workflows, use the async endpoint with callback URLs. Submit hundreds of texts in parallel and collect results as they complete. The Enterprise plan supports dedicated processing capacity for batch workloads.
Error Handling
The API returns standard HTTP status codes. Common responses:
200— Success. Humanized text in response body.400— Bad request. Missing or invalid parameters.401— Unauthorized. Invalid or missing API key.429— Rate limit exceeded. Back off and retry.500— Server error. Retry with exponential backoff.
All error responses include a JSON body with error and message fields. For 429 errors, the Retry-After header indicates how many seconds to wait before retrying.
Need the API for an agency workflow? See our content agency guide for production workflow patterns. For pricing details and plan comparisons, visit our pricing page. And for a broader view of how SupWriter compares to alternatives, check our best AI humanizer tools guide.
Related Resources
- AI Humanizer for Content Agencies — Scale production with API integration
- AI Humanizer for SEO — Rank without AI detection penalties
- Pricing — Compare API plan tiers and limits
- Best AI Humanizer Tools — How SupWriter compares
- Best Grammarly Alternative — For AI humanization





