Developer API
File takedowns, read everything,
get pushed the moment things move.
One JSON API for the whole service: create takedown cases, poll detections and case status, manage your compliance inbox, and subscribe to signed webhooks for real-time pushes. Free with any account, including the free plan; cases you file are billed at the standard per-case rates.
Authentication
Bearer keys, hashed at rest
Create up to 5 keys in account settings (revocable any time; shown once, stored as SHA-256 hashes). Rate limit: 60 requests/min per key.
Takedowns
File and track cases
/api/v1/complaintsCreate a takedown case with the same rules and pricing as the web form, including the free annual takedown for verified badge holders. The case is created AWAITING_PAYMENT; complete payment at the returned payUrl and filing starts.
type: VIDEO | MUSIC | PHOTO | SOFTWARE | WRITING | GAME | ART | OTHER · urgency: quicksend | standard | urgent · one site and up to 25 URLs per case, same as the web form. The sworn fields and signature are the §512(c)(3) statements; they must be true.
/api/v1/complaintsYour takedown cases: id, type, title, status, urgency, created and delivered timestamps. Poll status to track progress, or subscribe to the complaint.status_changed webhook instead.
Monitoring & compliance
Read the rest of your account
/api/v1/detectionsMonitoring detections newest first: URL, match score, source, status, matched asset, and the SHA-256 evidence hash. Query param: limit (1–100, default 50).
/api/v1/meAccount snapshot: email, active protection and compliance plans, credit balance.
/api/v1/compliance/noticesCompliance intake inbox (Compliant Pro/ISP plans): inbound §512(c)(3) notices with all fields and counter-notice state.
/api/v1/compliance/notices/:id/statusUpdate a notice's status (actioned | rejected | forwarded) from your abuse tooling.
Webhooks
Push, don't poll
Register up to 10 endpoints, subscribe to event types, and receive signed POSTs the moment things happen. Retries: 3 attempts with backoff; endpoints failing 10 consecutive deliveries are auto-disabled.
/api/v1/webhooksRegister an endpoint (https recommended, public hosts only). The per-endpoint secret is shown once, in the creation response.
/api/v1/webhooksList your endpoints with delivery health (last delivery, last status, consecutive fails).
/api/v1/webhooks/:idRemove an endpoint.
Verifying deliveries
Every delivery carries three headers. Reject deliveries with stale timestamps (over 5 minutes old) and invalid signatures:
detection.createdcomplaint.createdcomplaint.status_changednotice.creatednotice.counter_filedPricing
API access is free. Cases cost the same as everywhere else.
Included at no cost
- All read endpoints, webhooks, and API keys on every plan, free tier included
- Compliance endpoints on Compliant Pro/ISP (the plans that receive notices)
- No per-call fees, no API surcharge, 60 req/min per key
Cases filed via API
- Quick Send $49 · Standard $99 · Urgent $199, identical to the web form
- Volume tiers apply automatically: 10% off at 10+ lifetime notices, 17% off at 25+ ($89 / $82 on Standard)
- All four channels in every case: site, host, registrar and search de-listing, no premium tiers
Notes & limits
The fine print, up front
- Creating complaints via API shares the web form's daily limit (10/day) and validation, including the one-site-per-case and 25-URL rules
- Payments complete in the browser at the payUrl; card data never touches the API
- Webhook URLs must be public http(s) hosts; localhost and private ranges are rejected
- Everything is versioned under /api/v1, breaking changes get a v2, not a surprise
Your enforcement pipeline, one key away.
Generate a key, file a test case, point a webhook at your inbox, and let the pushes arrive.