DataDome

DataDome shows up three ways: a slider captcha, a device-check interstitial, and the passive Tags script. Slider and interstitial return an IP-bound datadome cookie; Tags refreshes an existing one.

Which variant do I have?

A slider puzzle means DataDomeSlider. A full-page “verifying your browser” screen means DataDomeInterstitial. If there is no visible challenge but the page loads a DataDome Tags script and you already hold a datadome cookie you need to keep valid, use DataDomeTags.

For all variants, pass the same userAgent you will use on your own follow-up requests. Slider and interstitial cookies are IP-bound, so supply a proxy (proxyType/proxyAddress/proxyPort, plus proxyLogin/proxyPassword if needed) and keep requesting from that same exit.

DataDome Slider

proxy required

Solves the DataDome slider captcha and returns a fresh datadome cookie. The cookie is bound to the solving IP, so a proxy is required (proxyType/proxyAddress/proxyPort).

type
DataDomeSlider
Task parameters
websiteURL*The protected URL you want to reach.
userAgent*The exact User-Agent you will use for follow-up requests.
captchaUrlThe DataDome captcha page URL, if the site exposes it directly.
Returns

solution.cookies containing the datadome cookie. Attach it to requests from the same IP and User-Agent.

IP-bound. Keep requesting from the same proxy exit and the same userAgent you passed here.

DataDome Interstitial

proxy required

Clears the DataDome interstitial (device-check) page and returns a datadome cookie. Like the slider, it is IP-bound and requires a proxy.

type
DataDomeInterstitial
Task parameters
websiteURL*The protected URL you want to reach.
userAgent*The exact User-Agent you will pair with the cookie.
Returns

solution.cookies containing the datadome cookie. Attach it to requests from the same IP and User-Agent.

IP-bound. Reuse the same proxy exit and userAgent for every follow-up request.

DataDome Tags

proxy optional

Refreshes trust on a page protected by DataDome Tags. You supply the client key (ddk) and the current datadome cookie, and we return an updated cookie.

type (proxyless / proxy)
DataDomeTagsProxyLessDataDomeTags
Task parameters
websiteURL*The page carrying the DataDome Tags script.
ddk*The DataDome client key the Tags script initialises with.
datadomeCookie*The current datadome cookie value from your session.
userAgent*The exact User-Agent you will use afterward.
Returns

the updated datadome cookie. Replace your session cookie with it.

Example

A slider task body with a proxy:

datadome-slider-task.json
{
  "clientKey": "capzy_YOUR_KEY",
  "task": {
    "type": "DataDomeSlider",
    "websiteURL": "https://example.com/",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080,
    "proxyLogin": "user",
    "proxyPassword": "pass"
  }
}
User-Agent and IP must match
The datadome cookie is validated against the IP and User-Agent it was minted with. If you rotate the exit IP or send a different User-Agent afterward, the cookie is rejected and you are re-challenged.

See Using proxies for the proxy fields, and Getting the result for the polling loop that returns solution.