Bypass DataDome Protection with a single API call
Solve interstitial challenges in milliseconds, crack slider captchas automatically, and send tags to boost your datadome trust score, all via simple API calls.
from hyper_sdk import Session, DataDomeInterstitialInput
session = Session(api_key="your-api-key")
# Parse the 403 block, load the device HTML, solve via the API
device_link = session.parse_interstitial_device_check_link(
html, cookie, referer,
)
device_html = client.get(device_link).text
result = session.generate_interstitial_payload(
DataDomeInterstitialInput(
device_link=device_link,
html=device_html,
user_agent=user_agent,
ip=proxy_ip,
accept_language="en-US,en;q=0.9",
)
)
# POST the payload back, datadome cookie updated
client.post(device_link, data=result.payload, headers=result.headers)What is DataDome protection?
DataDome is a real-time bot-protection layer deployed on retail, classifieds, travel and ticketing sites. It fingerprints every visitor, scores their behavior, and throws interstitials or slider captchas the moment trust drops.
Why it's hard to bypass
DataDome layers a JavaScript challenge, a visual captcha and continuous behavioral scoring. Each challenge type needs a different solving approach, and a headless browser betrays itself across all of them at once.
Our API reproduces the right signal for each: fingerprint payload, slider position or trust tag, from a single HTTP call, no browser required.
403 interstitial fingerprinting
DataDome serves a 403 page with a JavaScript challenge that fingerprints canvas, WebGL, timing and navigator entropy.
Slider captcha
A visual puzzle asks for a piece to be dragged to the matching gap. It needs accurate image analysis, not a random offset.
Session scoring
Behavioral signals are scored across requests. A low trust score escalates you straight into challenges.
IP reputation
Known datacenter and proxy ranges are penalized on sight, regardless of how clean your payload is.
Headless browsers & Puppeteer
One unified API call
Every DataDome challenge, one API
Select a challenge type to see what it is, when it fires, and exactly how we resolve it.
Interstitial Challenge
ReactivePOST /interstitialA 403 interstitial page carrying a JavaScript device-fingerprint challenge. DataDome expects an encrypted payload that proves a real browser ran the script before it issues a valid datadome cookie.
Served the moment a session looks automated, usually the first request from a fresh or low-trust client.
Parse the block page for the device-check link, request that link to collect the device HTML, then send both the HTML and the link to the API with user-agent, IP and accept-language. We return the payload and headers; POST them back to the device URL and DataDome refreshes your datadome cookie.
device_link = session.parse_interstitial_device_check_link(
html, cookie, referer,
)
device_html = client.get(device_link).text
result = session.generate_interstitial_payload(
DataDomeInterstitialInput(
device_link=device_link,
html=device_html,
user_agent=user_agent,
ip=proxy_ip,
accept_language="en-US,en;q=0.9",
),
)
client.post(device_link, data=result.payload, headers=result.headers)payloadheadersHow the bypass works
Detect the block, parse the device-check link, fetch the device HTML, solve through the API, then POST the payload back to DataDome. Most developers integrate in under 30 minutes.
Detect the 403 block
Catch the interstitial response and parse the HTML for the device-check link and challenge parameters.
GET target -> 403 interstitialExtract the device link
Pull the encrypted device-check URL DataDome embedded, then request it to load the device HTML.
session.parse_interstitial_device_check_link(...)Solve via our API
Send the device HTML, deviceLink, userAgent, ip and acceptLanguage to the API. It returns the payload and headers in under 10ms.
session.generate_interstitial_payload(...)Submit and continue
POST the payload back to the device URL with the returned headers. DataDome updates your datadome cookie and protected routes open up.
POST payload -> datadome updatedAPI vs browser automation
Headless browsers can technically clear DataDome until the next challenge build, or until behavioral scoring catches the framework. Here's how a managed API compares on the metrics teams actually feel.
Pay for requests, not browsers
One account covers Akamai, Kasada, DataDome and Incapsula. Start self-serve, then move to a monthly bundle for a lower per-request rate. Every challenge type is included on every plan.
Self-serve. Top up a balance and pay only for the requests you generate.
A monthly request bundle with the best per-request rate. Pick the volume that fits.
Committed-use volume pricing with a direct line to the founding team.
Outputs & example payloads
What the API returns, what DataDome sets, and exactly what an interstitial or slider request and response look like on the wire.
userAgentyou provideThe exact browser user-agent used on the blocked request and the follow-up payload POST.
deviceLinkparsedEncrypted device-check URL parsed from the 403 interstitial block page. Include it with the HTML you submit.
htmlyou provideHTML loaded from the device link. The API uses this challenge document to build the payload.
ipyou provideThe egress IP the payload is generated for. It must match the IP your target request exits from.
acceptLanguageyou provideThe Accept-Language header from the same session, kept consistent across the flow.
payloadAPI outputPayload you POST back to the device URL with the returned headers so DataDome refreshes the datadome cookie.
POST https://datadome.hypersolutions.co/interstitial
{
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"deviceLink": "https://geo.captcha-delivery.com/...",
"html": "<!doctype html>...",
"ip": "203.0.113.10",
"acceptLanguage": "en-US,en;q=0.9"
}In your language.
MIT-licensed, on npm / PyPI / GitHub. Interstitial parsing, slider solving, tags payloads, and cookie validation in every SDK, or skip them and hit the HTTP API directly.
npm i hyper-sdk-jspip install hyper-sdkgo get github.com/Hyper-Solutions/hyper-sdk-go/v2DataDome bypass questions
Anything not covered here, including whether your exact target is supported, gets a faster answer in Discord than anywhere else.
Ask in DiscordReady to bypass DataDome protection?
Drop in an official SDK and solve your first challenge in minutes. Pay-as-you-go to start, with subscription bundles when you scale.