Skip to main content
DataDome is a bot protection system used by many e-commerce and high-traffic websites. Surfsky handles DataDome CAPTCHA challenges in a few ways: audio or slider — automatically or manually with Surfsky’s cloud browser. Choose the solver that matches the challenge displayed by the page. datadome is an alias for the audio solver; it is not an automatic choice between audio and slider challenges.

DataDome challenge types

Before you start

Follow the CAPTCHA setup to connect a page-level CDP session. The snippets below use an async cdp session on a page showing the challenge.
For now, start the browser with a macOS x86 or an Android fingerprint: DataDome is not solved with other fingerprints. This requirement is temporary.
For Android, use "fingerprint": {"os": "android"}.
Use residential or mobile proxies. Datacenter IPs get challenged far more often and are the most common reason datadome_click or datadome_audio never clears on the first try.

Manual captcha solving

For a slider challenge:
For audio, use type: "datadome_audio". The timeout is in milliseconds. Each command is one attempt: send it again to retry.

Automatic captcha solving

List both variants in types if the target can present either. Detection tries audio first and turns to the slider only after audio keeps failing:
To go straight to the slider, pass { types: ["datadome_click"] } to autoSolve. Attach event listeners before starting.

Reducing challenges

DataDome scores every request before deciding whether to challenge it. A few things lower that score and cut how often the challenge appears at all:
  • Use residential or mobile proxies — datacenter IPs get challenged more often.
  • Rotate proxies every 3–5 requests for aggressive scraping.
  • Add delays and use Human Emulation for mouse and keyboard.
  • Reuse profiles that already passed a challenge — the cookie is good for 25+ follow-up requests, so avoid re-solving on every session.

DataDome IP ban detection

If the DataDome frame URL contains t=bv instead of t=fe, the request IP is already banned: the solve fails at once and is not charged. Switch to a different proxy before retrying; re-solving on the same IP wastes the attempt. Prefer avoiding the slider entirely rather than solving it. datadome_click clears the visible challenge, but a clean fingerprint and a trusted proxy that never trigger the challenge in the first place are more reliable than solving it every session.

Verify bypass worked

Keep the same browser and proxy while the challenge completes. Wait for the protected content or a successful site response after the solve; do not accept the solver’s status as proof that the entire job succeeded. Captcha.solveCompleted confirms the challenge UI was cleared — it does not confirm the site accepted the resulting cookie. If the same challenge reappears right after a reported success, check whether the exit IP changed mid-session (common with rotating proxy pools) before assuming the solver failed. If the site repeats the challenge, inspect the response and whether the exit IP changed. For audio failures, check whether an audio control is available. For slider failures, inspect the challenge frame and layout in DevTools. Stop the browser after the job, including failed attempts. See CAPTCHA troubleshooting for common errors.

DataDome bypass FAQ

datadome is an alias for datadome_audio — it always targets the audio challenge, it does not auto-detect which challenge type is on the page. Use datadome_click explicitly for slider puzzles, or list both in types on Captcha.autoSolve; detection then tries audio first.
No. Audio challenges (datadome or datadome_audio) are charged; slider challenges (datadome_click) are not.
A success status confirms the challenge UI was cleared, not that the site accepted the resulting session. Check whether your exit IP changed between the solve and the follow-up request, and whether the t parameter in the captcha URL was bv (banned) rather than fe.
Every 3–5 requests for aggressive scraping on residential or mobile proxies. Datacenter IPs get challenged regardless of rotation frequency.
Yes — the cookie from a passed challenge is valid for 25+ follow-up requests. Reusing the profile avoids solving, and paying for audio, on every session.
Questions? Contact support.