Skip to content
../products
● fastest in classproxy required

DataDome Solver, solved in 12.0s.

Bypass DataDome bot protection slider/click challenges. Returns the datadome cookie. Routed through residential by default.

Proxy required for DataDome Solver

Tokens are bound to the solving IP. Use DataDomeSliderTask with proxyAddress + userAgent. The *TaskProxyLess variant returns ERROR_PROXY_REQUIRED at no charge.

per 1,000$4.00
avg solve~12.0s
success99%+
throughput5/m
proxyPort: 8080…0.00s
POST/createTask type=DataDomeSliderTask
taskId tsk_q3oafsq1
POLL/getTaskResult status=processing
status ready
token 0x52e5d75c9f028...
type: DataDomeSliderTask● running on production solvers

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

1

Send Task

POST your DataDomeSliderTask with the target URL and sitekey to our API. We'll queue it instantly.

2

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.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick Integration

solve.py
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.

Proxy fields below are required for this captcha — userAgent must match the one you’ll use when submitting the resulting token.
typetypestringreqyesDataDomeSliderTask
websiteURLtypestringreqyesThe page URL showing the DataDome challenge
captchaUrltypestringreqnoThe DataDome challenge URL if different from the page (skips the warm-up navigation)
proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqyesUser-Agent string to use. Must match the UA you use when submitting the token

solution response.

cookietypestringThe datadome cookie value

Features

Routed through residential pool by default (DC IPs auto-fail on enterprise sites)
Capzy proprietary infrastructure — natural request signals
OpenCV gap detection + human-like drag with timing variance
Returns datadome cookie + matching User-Agent

Required Task Type

DataDomeSliderTask

Frequently Asked Questions

start solving datadome.

$0.10 in free credits — no card. ~250 free solves to test before you spend.