πGeneral Information
Ensure that you have read this guide carefully, as it contains information that will be useful to successfully solve Datadome
π§ General Overview
Please read this guide thoroughly. It contains essential information for successfully solving Datadome challenges using our API.
π» Platform Requirements
Our API is designed to emulate Chrome on Windows. Workflows from other browsers such as Firefox, Edge etc) are not supported.
βοΈ API Capabilities
Our API is designed for performance:
No execution of original Datadome JavaScript
Synchronous response β solves occur immediately (typically ~50ms)
Auto-updates to adapt to most Datadome changes
Highly scalable to handle large volumes of requests
Does not return cookies β you must submit the response as instructed in this guide to retrieve a valid cookie
π§© Datadome-Specific Guidance
π Behavior-Based Detection
Datadome analyses user behavior and browsing patterns. To avoid blocks:
Always use TLS for all requests (Datadome and site endpoints)
Ensure all headers match those from a real Chrome browser, pay particular attention to:
refereroriginuser-agentsec-ch-ua(and related client hints)
π Referer Logic
The referer must reflect the correct navigation flow. For example, if accessing Page B, the referer should be Page A β otherwise, you risk being blocked.
π§ Client Hints and Accept-CH
Accept-CHWhen a response from the target site includes the Accept-CH header, Datadome is requesting additional client hints. You must:
Note the requested headers.
Include them in all subsequent requests to that origin.
Our API will provide the correct headers and values to include. Not including them will likely result in a block.
π Header Order Matters
Header order is critical.
Record a valid session using Charles Proxy.
Replicate the exact header order in your application.
Do not use Proxyman, Fiddler, or similar tools β they do not preserve header order per RFC 7540.
This applies throughout your session β even after solving Datadome, incorrect headers in subsequent requests can lead to detection.
ποΈ Logical Request Flow
Ensure that your requests mirror realistic browser behavior:
Do not send requests that would be impossible via the UI (e.g., sending an Add-to-Cart request without visiting the product page).
Your session should follow natural navigation: homepage β product page β ATC, etc.
Datadome tracks request context and flow - unrealistic behavior leads to blocks.
π·οΈ Datadome Tags (tags.js / ch / le)
Some high-security sites require solving Datadome Tags after passing a CAPTCHA or interstitial block.
Example Flow:
Request:
https://www.example.comBlocked with 403 Captcha
Solve CAPTCHA
Retry request β success (200)
Solve tags (
tags.js/ CH / LE)Request product page
Send ATC request
t=bv Explanation
t=bv ExplanationThe t=bv query parameter is often misunderstood. It can indicate a proxy ban, but could also be a false positive if you havenβt solved tags. Always solve tags before rotating proxies.
If the error persists after solving tags, your proxy is likely blocked.
Likewise you can search for the words Hard Block on the Datadome Captcha or Interstitial page to see if you are hard blocked. If you are hard blocked, then your proxy is likely banned.
π§Ή Clean Sessions
If you're stuck in a block loop:
Clear all Datadome cookies
Restart your flow by making a new request to the target endpoint
Obtain a new block cookie and begin the solving process again
Reusing invalid cookies will keep you in a detection loop.
π TLS and Header Order
π Header Recording & Reproduction
Use Charles Proxy to record real Chrome browsing sessions.
Replicate header order exactly
Pay special attention to
Refererβ it must behave as a browser would
Avoid tools that don't honor proper HTTP/2 header ordering.
π TLS Requirements
Datadome requires a high-quality TLS client. We recommend:
tls-clientβ a trusted open-source client optimized for Datadome scenarios.
Using substandard TLS clients or no TLS clients at all will lead to detection or blocks.
Last updated