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 --build

Machine-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.

Try the visual scanner