DataDomeInterstitialCookieProxyLess
Clear the DataDome interstitial from a captured challenge page and get the cleared datadome cookie back.
The interstitial is DataDome's silent device check: no puzzle, just a page that verifies the browser before letting the request through. This is the self-driven variant: you capture the challenge page, and the solver returns the cleared datadome cookie value to set on your own session.
Recognising an interstitial block
The challenge URL has an /interstitial/ path and carries a b parameter with no t parameter. A /captcha/ path with t=fe is the slider: see DataDomeSliderCookieProxyLess.
Building the request
Use the JSON url or challenge iframe src when available. Otherwise build captchaUrl from the var dd
object with URLSearchParams, the current datadome cookie as cid, the full websiteURL as referer, and
dm=cd.
GET captchaUrl with the same User-Agent you pass to the task and base64-encode the full response body as
challengePage.
websiteURL.solution.datadome as the datadome cookie on the protected domain and retry the blocked request.cid, hsh, s, e and b come from the dd object on the block page:
const { cid, hsh, s, e, b } = dd;
const params = new URLSearchParams({
initialCid: cid,
hash: hsh,
cid: datadomeCookie,
referer: blockedUrl,
s,
e,
b,
dm: 'cd',
});
const captchaUrl = `https://geo.captcha-delivery.com/interstitial/?${params}`;One identity, start to finish
The cookie is bound to the session behind cid and to the userAgent you submitted. Fetch the challenge page and
replay the cookie from the same IP and the same User-Agent, with a TLS fingerprint and header order that match a
real browser.
Interstitials mean the session is cold
Repeated interstitials usually signal a session with no telemetry behind it. Warming it with DataDomeTagsCookie reduces how often you get challenged at all.
Supported Providers
| Provider | Price per 1,000 | Routing |
|---|---|---|
| $2.76 |
Request Schema
| Field | Type | Required | Description |
|---|---|---|---|
clientKey* | string | Yes | Your API key. Create one in the AnySolver dashboard. Example: |
task* | object | Yes | The task body. Required fields depend on the task type. See Tasks for per-task schemas. View task properties |
settings | object | No | Per-request settings for routing, auto retry, auto fallback, and proxy behavior. See Routing Strategies. View settings reference |
Task Object Properties
The task field accepts an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
type* | Yes | ||
websiteURL* | URL | Yes | Full URL of the protected page that returned the DataDome block. Use this exact URL as the Example: |
challengePage* | string | Yes | Base64-encoded raw response body from a GET to Example: |
userAgent* | string | Yes | User-Agent used to request the protected page and Example: |
captchaUrl* | URL | Yes | Full Example: |
{ "clientKey": "your-api-key-from-dashboard", "task": { "type": "DataDomeInterstitialCookieProxyLess", "websiteURL": "https://www.pokemoncenter.com/", "challengePage": "PCFET0NUWVBFIGh0bWw+PGh0bWw+…", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36", "captchaUrl": "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMACAOLE2sBBRMATaDxmw%3D%3D&hash=13C44BAB3C9D728ABD66E2A9F0233C&cid=noJuZstmvINksqOxaXWQogbPBd01y3VaH3r&referer=https%3A%2F%2Fwww.pokemoncenter.com%2F&s=48047&e=3&b=1501854&dm=cd" }}Optional fields are not guaranteed across providers
Response Schema
| Field | Type | Required | Description |
|---|---|---|---|
status* | Yes | Task status: "processing", "ready", or "failed". Example: | |
errorId* | Yes | 0 = success, 1 = external error, 2 = internal error. Example: | |
taskId | string | No | Unique identifier returned when the task was created. Example: |
errorCode | No | Machine-readable error code. Example: | |
errorDescription | string | No | Human-readable error message with resolution hints. Example: |
cost | number | No | Actual cost charged for this task in USD. Example: |
taskType | No | The type of CAPTCHA task to solve. Example: | |
provider | No | Provider that handled this task. While processing, the provider currently solving it. Example: | |
solution | object | No |
Solution Object Properties
The solution field contains an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
datadome* | string | Yes | The solved DataDome cookie value to replay on the target. Example: |
raw* | Record<string, unknown> | Yes | Raw provider response data for advanced use cases. |
userAgent | string | No | User-Agent string used during solving (if applicable). Example: |