API Reference
ClaudeRewrite API
Rewrite text programmatically. POST text, get a clean, watermark-free rewrite back in JSON. Build removal into your own scripts, workflows, or product.
How it works
Claude embeds a statistical watermark in generated text by biasing token choices during generation. The signal is invisible to readers but detectable by anyone with Anthropic's key.ClaudeRewrite removes it in two steps:
- Invisible character scrub (zero cost) β strips ZWSP, bidi overrides, tag characters, and other invisible Unicode that some watermarks embed directly.
- Structural rewrite β a different model rewrites sentence structure, clause order, and phrasing while preserving every fact, number, date, name, URL, and code block. This changes the token pattern the watermark relies on.
- Automatic meaning check β a second pass compares the original against the rewrite and flags any fact that changed, was dropped, or was added. You see a green pass or a list of issues before you copy.
No honest tool can guarantee the mark is fully undetectable because Anthropic keeps its detector private.ClaudeRewrite performs the strongest available removal and is transparent about the residual risk.
Authentication
Every request needs your personal API key in the Authorization header. Find and manage it in your account page. API access requires an active paid plan (Starter, Professional, or Business). Keep your key secret.
Authorization: Bearer YOUR_API_KEYRewrite text
POST https://removeclaudewatermark.com/api/v1/rewrite
Send a JSON body with the text to rewrite and an optional model. Rate limit: 30 requests/minute, 300/day.
curl -X POST https://removeclaudewatermark.com/api/v1/rewrite \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "The quick brown fox jumps over the lazy dog."}'import requests
res = requests.post(
"https://removeclaudewatermark.com/api/v1/rewrite",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"text": "Your Claude output here."},
)
data = res.json()
print(data["rewritten"])const res = await fetch("https://removeclaudewatermark.com/api/v1/rewrite", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ text: "Your Claude output here." }),
});
const data = await res.json();
console.log(data.rewritten);Request body
{
"text": "the text to rewrite (required)"
}Response
A JSON object with the rewritten text and word count:
{
"rewritten": "The speedy fox clears the dozing hound.",
"words": 10,
"invisibleCharsStripped": 3
}invisibleCharsStripped tells you how many invisible Unicode characters (watermark carriers) were removed from your input before the rewrite. Zero means none were found. This field is omitted when the count is zero.
Limits
- Max input: 200,000 characters per request
- Max words per rewrite: Starter 5,000 / Professional 10,000 / Business 10,000 words
- Rate limit: 30 requests per minute, 300/day
- Monthly quota: Free tier gets 5 rewrites/mo; paid plans draw from your monthly word quota
- Long text: split large documents into ~30,000 character chunks and rewrite each part separately
MCP server (Claude Desktop, Cursor, Claude Code)
Prefer to clean the watermark from inside your AI client? The official claudeclear-mcp server exposes ClaudeRewrite as MCP tools your agent can call mid-workflow β no copy-paste. Published on npm, runs over stdio.
Install
npx claudeclear-mcpConfigure your MCP client
Add this to your client config (e.g. claude_desktop_config.json, Cursor's mcp.json, or via claude mcp add). Set your API key (from your account page) to enable rewriting; the image tool works with no key.
{
"mcpServers": {
"claudeclear": {
"command": "npx",
"args": ["-y", "claudeclear-mcp"],
"env": {
"CLAUDECLEAR_API_KEY": "YOUR_API_KEY"
}
}
}
}Tools
rewrite_textβ rewrites text to remove the Claude watermark (needsCLAUDECLEAR_API_KEY)strip_image_metadataβ strips C2PA / EXIF / XMP metadata from an image URL (free, no key)
Package: npmjs.com/package/claudeclear-mcp
Strip image metadata
POST https://removeclaudewatermark.com/api/strip-metadata
Remove EXIF, XMP, ICC, IPTC, C2PA, and all other metadata from images. This strips "Made with Claude" credentials and any other embedded metadata. Free to use, no API key required.
cURL
curl -X POST https://removeclaudewatermark.com/api/strip-metadata \
-F "file=@image.jpg" \
-o image-clean.jpgSupported formats
JPG, PNG, WebP, GIF, TIFF
Response headers
X-Metadata-Removed: EXIF, XMP, ICC Profile, C2PA
X-Original-Size: 1024000
X-Cleaned-Size: 998400Analyze watermark exposure
POST https://removeclaudewatermark.com/api/analyze
Analyze text for watermark exposure risk and AI-style detection scores. Free to use, no API key required. Returns two measurements: exposure risk (IF watermarked, how confidently could it be detected) and AI-style score (what public detectors like GPTZero see).
cURL
curl -X POST https://removeclaudewatermark.com/api/analyze \
-H "Content-Type: application/json" \
-d '{"text": "Your text to analyze..."}'Response
{
"exposure_score": 65,
"exposure_band": "moderate",
"length_signal": 65,
"entropy_multiplier": 0.8,
"exposure_explanation": "...",
"ai_style_score": 42,
"style_markers": ["marker 1", "marker 2"],
"style_explanation": "...",
"verdict": "...",
"word_count": 250
}Errors
401- missing or invalid API key402- free monthly rewrites or paid quota/credits exhausted429- rate limit exceeded400 / 413- bad request or text too long502- the rewrite model failed
Need higher limits or a bespoke integration? Get in touch.