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. We can’t detect these mismatches for you.
- DataDome is the hardest anti-bot system on the market. Realistic success rate is 50-65% on enterprise sites even with residential — well below what you'd see on Akamai or Imperva. For mission-critical workflows, supply your own mobile (4G/5G) proxy via DataDomeSliderTask.
- Cookies are IP-bound. Reuse the same proxy on subsequent requests.
What is DataDome?
DataDome runs ~85,000 per-customer ML models and is widely considered the hardest anti-bot system in the industry. It scores behavior + IP reputation + TLS/JA3 fingerprint, with the slider being only the visible tip. Deployed on major e-commerce, ticketing, and travel sites where datacenter IPs almost always fail.
How It Works
Send Task
POST your DataDomeSliderTask with the target URL and sitekey to our API. We'll queue it instantly.
We Solve
Capzy's proprietary solver handles DataDome's slider challenge end-to-end. ProxyLess routes through our residential pool because DC IPs are auto-classified before the slider even renders. DataDomeSliderTask uses your own proxy directly.
Get Token
Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.
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": "DataDomeSliderTask",
"proxyPort": "8080",
"proxyType": "http",
"proxyLogin": "user",
"websiteURL": "https://example.com/blocked",
"proxyAddress": "123.45.67.89",
"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)task parameters.
typetypestringreqyesDataDomeSliderTaskwebsiteURLtypestringreqyesThe page URL showing the DataDome challengecaptchaUrltypestringreqnoThe DataDome challenge URL if different from the page (skips the warm-up navigation)proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqyesUser-Agent string to use. Must match the UA you use when submitting the tokensolution response.
cookietypestringThe datadome cookie valueFeatures
Required Task Type
DataDomeSliderTaskFrequently Asked Questions
start solving datadome.
$0.10 in free credits — no card. ~250 free solves to test before you spend.