Before you submit — these must be correct
If any of these are wrong, your token may be accepted by our solver but rejected or scored poorly by the target site.
- Use the full page URL including www and a trailing slash (e.g. https://www.example.com/), pointing at a real Kasada-protected page. A bare apex domain may not load the Kasada challenge, so no tokens come back.
Kasada Bot Defense Solver, solved in 5.0s.
Bypass Kasada bot defense. Returns x-kpsdk-ct/cd tokens + cookies in ~1.6 seconds.
Kasada is a bot defense platform that uses a custom JavaScript VM (ips.js) to fingerprint browsers and generate proof-of-work tokens. Kasada uses two tokens: x-kpsdk-ct (client token, ~30 min lifetime) and x-kpsdk-cd (single-use per-request proof-of-work).
Quick Integration
import requests, time
API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"
# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "KasadaCaptchaTask",
"websiteURL": "https://www.example.com/",
"proxyType": "http",
"proxyAddress": "123.45.67.89",
"proxyPort": "8080",
"proxyLogin": "user",
"proxyPassword": "pass"
}
}).json()
task_id = task["taskId"]
print(f"Task created: {task_id}")
# Step 2: Poll for result
while True:
result = requests.post(f"{API}/getTaskResult", json={
"clientKey": KEY,
"taskId": task_id
}).json()
if result["status"] == "ready":
print("Solved!", result["solution"])
break
elif result["status"] == "failed":
print("Failed:", result.get("errorDescription"))
break
time.sleep(1)
Using the result
# Step 3: Use the result — Kasada uses custom headers, not a Cookie:
sol = result["solution"]
headers = {
"x-kpsdk-ct": sol["x-kpsdk-ct"],
"x-kpsdk-cd": sol["x-kpsdk-cd"], # single-use per request
"User-Agent": sol.get("userAgent", ""),
}
cookies = sol.get("cookies", {})
resp = requests.get("https://target.example.com/", headers=headers, cookies=cookies)
print(resp.status_code)1. Send Payload
Dispatch your KasadaCaptchaTask to our processing cluster via the secure API endpoint.
2. Solving Engine
Capzy's proprietary solver returns the Kasada x-kpsdk-ct + x-kpsdk-cd tokens and KP_UIDz session cookies needed for protected requests. Designed for authorized testing and automation.
3. Get Result
Poll getTaskResult for the validated token, then finalize your automated request.
Task Parameters
API SpectypetypestringreqyesKasadaCaptchaTaskProxyLess or KasadaCaptchaTaskwebsiteURLtypestringreqyesA page URL on the Kasada-protected domain. Include www and a trailing slash (e.g. https://www.example.com/); a bare apex domain may not arm the challenge.proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the tokenResponse Shape
x-kpsdk-cttypestringClient token (~30 min lifetime, reusable)x-kpsdk-cdtypestringClient data with proof-of-work (single-use per request)cookiestypeobjectKP_UIDz and KP_UIDz-ssn session cookiesuserAgenttypestringUser-Agent used during solve — must reuse for subsequent requestsexpiresAttypenumberUnix timestamp when the CT expiresExample response
{
"errorId": 0,
"status": "ready",
"solution": {
"x-kpsdk-ct": "<client token (CT) — ~30 min lifetime, reusable>",
"x-kpsdk-cd": "<client data (CD) — single-use proof-of-work per request>",
"cookies": {
"KP_UIDz": "<value>",
"KP_UIDz-ssn": "<value>"
},
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"expiresAt": 1735691400
}
}Error response
{
"errorId": 1,
"errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
"errorDescription": "Solver gave up."
}Features
Pricing & Stats
Start solving kasada bot defense.
$0.10 in free credits — no card. ~250 free solves to test before you spend.