Suppress solves Kasada, Cloudflare, and reCAPTCHA challenges in seconds. Two API calls. Transparent pricing. You only pay for results.
~3s
avg solve time
99.9%
uptime
Solve Kasada challenges via API. Full CT and CD token generation. More challenge types coming.
Price
$1 / 1K
Speed
~3s
Success
98%
Coming soon
Send your clientKey and task parameters to create a task. Poll for the result. Compatible with capsolver API format.
POST /createTask
Submit your challenge with clientKey and task object. Returns a taskId instantly.
POST /getTaskResult
Poll every 3s with clientKey and taskId. Status goes from "processing" → "ready".
| 1 | import requests, time |
| 2 | |
| 3 | CLIENT_KEY = "your-api-key" |
| 4 | API = "https://api.suppress.sh" |
| 5 | |
| 6 | resp = requests.post(f"{API}/createTask", json={ |
| 7 | "clientKey": CLIENT_KEY, |
| 8 | "task": { |
| 9 | "type": "AntiKasadaTask", |
| 10 | "pageURL": "https://example.com/fp?x-kpsdk-v=j-1.2.291", |
| 11 | "proxy": "http://user:pass@host:port", |
| 12 | "userAgent": "Mozilla/5.0 ...", |
| 13 | "acceptLanguage": "en-US,en;q=0.6" |
| 14 | } |
| 15 | }).json() |
| 16 | |
| 17 | task_id = resp["taskId"] |
| 18 | |
| 19 | while True: |
| 20 | result = requests.post(f"{API}/getTaskResult", json={ |
| 21 | "clientKey": CLIENT_KEY, |
| 22 | "taskId": task_id |
| 23 | }).json() |
| 24 | if result["status"] == "ready": |
| 25 | print(result["solution"]) |
| 26 | break |
| 27 | time.sleep(3) |
Why suppress.sh
Fast
Average ~3s solve time. No queues.
Reliable
99.9% uptime. Auto-retry on failure.
Simple
Two endpoints. No SDK required.
Fair
Failed solves are free. You only pay for results.
Pay per successful solve. No subscriptions, no minimums, no hidden fees. Failed solves are always free.
| Challenge | Per 1,000 solves | Status |
|---|---|---|
| Kasada | $1.00 | Available |
| Cloudflare Turnstile | — | Soon |
| AWS WAF | — | Soon |
| GeeTest | — | Soon |
| TikTok Captcha | — | Soon |
Need volume pricing? Get in touch →