π»Interstitial
This page describes how to solve Datadome Interstitial ("Verifying your device")
Datadome Interstitial Workflow
This guide walks you through solving a Datadome Interstitial challenge using our API. Follow the steps exactly to construct valid requests and extract the necessary cookie.
π§± Step 1: Trigger a Block
Make a GET request to a page that is known to be protected by Datadome. If blocked, youβll receive a 403 Forbidden response containing HTML similar to:
htmlCopyEdit<html>
<head>
<title>thefork.it</title>
<style>#cmsg{animation: A 1.5s;}@keyframes A{0%{opacity:0;}99%{opacity:0;}100%{opacity:1;}}</style>
</head>
<body style="margin:0">
<p id="cmsg">Please enable JS and disable any ad blocker</p>
<script data-cfasync="false">
var dd = {
'rt':'i',
'cid':'AHrlqAAAAAMA33U5jz_3dWIAH38V_A==',
'hsh':'4980A61279181687DE605B235F81B9',
'b':1362300,
's':2906,
'host':'geo.captcha-delivery.com'
}
</script>
<script data-cfasync="false" src="https://ct.captcha-delivery.com/i.js"></script>
</body>
</html>You know you are blocked by Interstitial by the presence of https://ct.captcha-delivery.com/i.js in the HTML
π Step 2: Construct Device Check URL
Extract the following values from the dd JavaScript object in the block page:
cidhshbshostThe original request
referer(URL-encoded)
Then build a full device check link, like so:
Ensure your referer matches the URL you attempted to access.
Here is a Golang implementation of how to build the link:
π Step 3: Fetch and Encode the Page
Do a GET request to the constructed device check link. Base64-encode the full HTML response body. This encoded string will become the payload for the next step.
π§ Step 4: Solve Using Our API
Send the Base64-encoded HTML payload to our API endpoint to solve the interstitial challenge.
See API Reference
π€ Step 5: Submit the Payload
Send a POST request to:
Headers
Use HTTP/1.1 and include these headers (values must match real Chrome browser headers):
Body
The payload returned from our API is the body of the HTTP POST to /interstitial. It contains the application/x-www-form-urlencoded data. Submit it as is - no need to change anything.
β
Step 5: Handle the API Response
A successful POST returns a JSON response like this:
What to do:
Extract the
datadomecookieAdd it to your cookie jar for the target domain
Retry the original blocked request using the cookie
You should now be able to access the page without being blocked.
Last updated