DataDome
POST /v1/solve/datadome
Produces the interstitial POST body (plv2 payload and plv3). The caller POSTs data.body to data.post_url.
url alone is enough: the server opens the home page, parses var dd, and fetches the interstitial page and script. Putting interstitial HTML in payload.html skips those two steps.
payload
| Field | Aliases | Meaning |
|---|---|---|
html | Interstitial HTML. If set, home / interstitial are not fetched | |
dd | The var dd={...} object from the home page. Parsed from home HTML when html is missing | |
post_url | postUrl | Submit URL. Defaults to https://{dd.host}/interstitial/ |
js_url | jsUrl | Interstitial script. Prefers ct.captcha-delivery.com/interstitial.*.js from the HTML |
A datadome= cookie in the top-level cookie is used as cid. If the cookie is empty, it is taken from the home page Set-Cookie.
Request examples
Site only:
json
{
"url": "https://www.neimanmarcus.com/",
"timeout": 30000
}When you already have interstitial HTML / dd, pass them directly:
json
{
"url": "https://www.neimanmarcus.com/",
"user_agent": "Mozilla/5.0 ... Chrome/153.0.0.0 ...",
"timeout": 30000,
"payload": {
"html": "<!doctype html>...",
"dd": { "cid": "...", "hsh": "...", "host": "geo.captcha-delivery.com", "s": 1, "e": "..." },
"post_url": "https://geo.captcha-delivery.com/interstitial/"
}
}data
json
{
"body": "payload=...&plv3=...",
"payload": "...",
"plv3": "...",
"post_url": "https://geo.captcha-delivery.com/interstitial/",
"cookie": "datadome=...",
"url": "https://www.neimanmarcus.com/",
"js_url": "https://ct.captcha-delivery.com/interstitial.1.2.3.js"
}| Field | Meaning |
|---|---|
body | Full application/x-www-form-urlencoded, use as POST body |
payload | plv2 |
plv3 | May be an empty string |
post_url | Submit URL |
js_url | Interstitial script actually run; cached by version |
No var dd on the home page → SOLVE_FAILED / no var dd.
No script in the interstitial → no interstitial js.