Claude Watermark Remover — Developer API & SDK
A free, open, keyless REST API to scan text for hidden characters, clean or rewrite it, and strip EXIF/XMP/C2PA metadata from images. One HTTPS POST, any language. It does not claim to remove statistical token watermarks.
class=class="syn-string">"syn-comment"># No SDK, no key -- just POST
curl -X POST https:class=class="syn-string">"syn-comment">//api.claudewatermark.org/v1/text/clean \
-H class=class="syn-string">"syn-string">"Content-Type: application/json" \
-d &class=class="syn-string">"syn-comment">#39;{class=class="syn-string">"syn-string">"text":class=class="syn-string">"syn-string">"Your text here"}39;
No SDK required
There is nothing to install. Every capability is a plain HTTPS POST to https://api.claudewatermark.org, so you can call it from any language or platform that speaks HTTP. No API key, no auth header, nothing stored.
Scan
Detect hidden zero-width and invisible characters in text.
POST /v1/text/scanClean
Strip those characters and normalize to Unicode NFC.
POST /v1/text/cleanRewrite
Paraphrase text to reduce statistical watermark signal.
POST /v1/text/rewriteImage strip
Remove EXIF, XMP, IPTC, and C2PA metadata from JPEG & PNG.
POST /v1/image/stripGetting Started
Send a POST request and read the JSON response. No key, no setup.
curl -X POST https:"syn-comment">//api.claudewatermark.org/v1/text/clean \
-H "syn-string">"Content-Type: application/json" \
-d &"syn-comment">#39;{"syn-string">"text":"syn-string">"Your Claude-generated content here..."}39;
class="syn-keyword">const res = await fetch(class=class="syn-string">"syn-string">"https:class=class="syn-string">"syn-comment">//api.claudewatermark.org/v1/text/clean", {
method: class=class="syn-string">"syn-string">"POST",
headers: { class=class="syn-string">"syn-string">"Content-Type": class=class="syn-string">"syn-string">"application/json" },
body: JSON.stringify({ text: class=class="syn-string">"syn-string">"Your Claude-generated content here..." })
});
console.log((await res.json()).cleaned);
class="syn-keyword">import requests
r = requests.post(class=class="syn-string">"syn-string">"https:class=class="syn-string">"syn-comment">//api.claudewatermark.org/v1/text/clean",
json={class=class="syn-string">"syn-string">"text": class=class="syn-string">"syn-string">"Your Claude-generated content here..."})
print(r.json()[class=class="syn-string">"syn-string">"cleaned"])
Start Building Today
Sign up for a free API key and start removing Claude watermarks programmatically. No credit card required for the free tier. Upgrade as your usage grows with simple, predictable pricing.