Open and integrable
Scan AI text artifacts from any workflow
Use the hosted API for speed or run the same application on your own infrastructure. Every result separates literal artifacts from provider-level verification and never turns hidden characters into an authorship accusation.
Single scan
POST one text value to /api/v1/scan for an exact report and conservative cleaned copy.
curl -X POST https://aitextwatermark.com/api/v1/scan \
-H "Content-Type: application/json" \
-d '{"text":"copied text"}'Batch endpoint
POST up to 50 strings to /api/v1/batch. Results remain ordered and include provider-adapter status separately.
curl -X POST https://aitextwatermark.com/api/v1/batch \
-H "Content-Type: application/json" \
-d '{"texts":["first","second"]}'Self-host with Docker
Clone the project, set an API key, and start the included Docker Compose service. A health endpoint supports container monitoring.
SELF_HOST_API_KEY=replace-me \
docker compose up --buildMachine-readable documentation
Use the OpenAPI 3.1 document to generate clients or connect workflow tools. Service status is available at /api/health.
Open-source core
Install ai-text-watermark-scanner from npm, or review the MIT-licensed source.
Security defaults
Set SELF_HOST_API_KEY to require either an x-api-key header or Bearer token. Browser access is denied by default and can be enabled for exact origins with API_ALLOWED_ORIGINS. Put a reverse proxy with request-size and network rate controls in front of internet-facing containers.
Provider capability contract
Read /api/v1/providers before requesting provider verification. Results distinguish Unavailable, Detected, Not detected, Inconclusive, and Failed. A failed or unavailable detector is never converted into a clean result.
Every official adapter must pass the public adapter contract, then pass the provider's official positive and negative test vectors before its feature flag can be enabled.
Can AI providers webhook directly into this?
Yes when you control the provider API call or automation. Send returned model text to the scan endpoint before displaying, storing, or publishing it. Consumer chat websites do not generally send third-party webhooks, so the browser extension handles copy workflows.