If Cloudflare is the anti-bot system everyone meets first, DataDome and PerimeterX (now HUMAN Security) are the ones that end scraping projects. They protect the targets people actually want: sneaker and ticketing sites, travel fare engines, major e-commerce platforms, classifieds. And unlike Cloudflare's free tier, every site running them has paid specifically to stop you.
This is the 2026 state of what both systems check, why the GitHub "bypass" repos are dead, and the four-layer approach that still works. It follows the same structure as our Cloudflare bypass guide — if you haven't read that, start there; the fundamentals overlap.
Standard disclaimer: scrape public data, respect terms of service and local law, and don't use any of this against systems you have no right to access.
DataDome runs a server-side decision engine fed by three signal groups, scored in under 2ms per request:
navigator properties, and CDP/headless artifacts. The payload is encrypted and replay-protected — capturing one valid payload and resending it stopped working years ago.Fail the score and you get the "captcha-delivery.com" interstitial (the DataDome captcha) or a silent 403 with a datadome cookie.
Same three pillars, different weighting. PerimeterX leans harder on its JavaScript sensor (_px cookies, the px.js collector) and on behavioral biometrics. Its "Human Challenge" — the press-and-hold button — is explicitly designed to require real pointer pressure curves that replay bots fail.
Practical differences that matter to you:
px-bypass repo dies within weeks.Non-negotiable on these targets. Residential or mobile IPs from a pool with low abuse history, rotated per session, not per request:
# One sticky session per browsing identity - looks like a real user's visit
proxy = "socks5h://USERNAME-session-a1b2c3:[email protected]:913"
Per-request rotation against DataDome is counterproductive: a "user" whose IP changes on every page load is itself a bot signature. Keep one IP for one logical visit (5–15 pages), then retire the session ID. If you get a 403 or captcha, don't retry on the same IP — that IP is now warmer; rotate the session and slow down.
For DataDome/PerimeterX-protected flows, run a real Chromium — headed if you can afford it — via Playwright with anti-CDP-detection patches (rebrowser-patches and its forks), or a commercial anti-detect browser. The JS sensor must execute and produce a coherent device story: real canvas entropy, consistent screen metrics, timezone matching the proxy IP's country.
The math that actually defeats these systems: instead of one identity doing 1,000 pages (impossible to make look human), run 100 identities doing 10 pages each. Each identity = one residential session ID + one fingerprint + human pacing. This is an economics fight — you win by making each identity individually unremarkable.
| Aspect | DataDome | PerimeterX / HUMAN |
|---|---|---|
| Bad-IP behavior | Instant 403 / captcha interstitial | Often soft: degraded or poisoned responses |
| Challenge type | Puzzle captcha (captcha-delivery.com) | Press-and-hold Human Challenge |
| Detection emphasis | Network layer + device | JS sensor + behavioral biometrics |
| Cookie to watch | datadome | _px2 / _px3 |
| If challenged | Rotate session, do NOT solve repeatedly from one IP | Back off hard; repeated challenge fails poison the identity |
Both systems can fail you silently. Instrument your pipeline:
DataDome and PerimeterX in 2026 are scoring systems, not gates — you don't "bypass" them with one trick, you stay under the score threshold on every layer at once: clean residential IP per identity, real browser with patched tells, human behavior, and horizontal scale. The teams that succeed treat each identity as disposable and unremarkable; the ones that fail try to make one connection do superhuman work.
Residential sessions with per-identity stickiness. $5 free credit to test against your target.
Start Free TrialNew users get $5 USDT instantly, plus an extra first-deposit reward — limited-time offer.