Guide12 min read

DataDome CAPTCHA and Blocks, With PerimeterX and hCaptcha

Short answer

A DataDome CAPTCHA is the slider challenge DataDome shows when its detection is unsure whether a request is automated; when it is sure, you get a block page instead. If DataDome blocks your scraper on a retail site, stop retrying (DataDome's guidance for blocked agents is "Do not retry automatically"), read the retailer's terms, look for an official API, product feed or affiliate feed, or ask the retailer for access; a commercial crawler can authenticate with DataDome in one of 5 ways so the site can allow it. Only for public pages the terms allow does a technical setup apply: pace, one IP and one cookie jar per session, a real browser. PerimeterX (now HUMAN Security) and hCaptcha react to the same signals: IP reputation, request rate, TLS and browser fingerprints, missing cookies. ProxyField's residential and mobile proxies cover only the IP signal, with 412M+ residential IPs and sticky sessions up to 36 h; the Easy Trial is 1 GB for $2.95.

residential IPs
412M+
from, traffic never expires
$1.95/GB
Easy Trial
1 GB for $2.95
On this page 13 sections
  1. DataDome blocks on retail sites: official routes before any technical fix
  2. The three systems at a glance
  3. Which DataDome response did you get?
  4. DataDome CAPTCHA: what it is and what triggers it
  5. PerimeterX (HUMAN) challenge
  6. hCaptcha
  7. CyberSiARA CAPTCHA
  8. What lowers the challenge rate
  9. Selenium, Playwright and Puppeteer against DataDome and PerimeterX
  10. Scraping retail sites protected by DataDome
  11. CAPTCHA solvers and these systems
  12. When to stop
  13. DataDome CAPTCHA and Blocks FAQ

DataDome blocks on retail sites: official routes before any technical fix

StepWhat to doSource
1. Stop automatic retriesDo not loop on a blocked request; "Retrying without addressing the root cause may result in further blocking."DataDome, Agent blocked
2. Read the retailer's termsMany retailers forbid scraping outright: Target's terms list "any use of data extraction, scraping, mining or other data gathering tools" among prohibited usesTarget, terms (last updated September 10, 2026)
3. Use an official sourceThe retailer's API, product feed or affiliate feed, or its price alertsThe retailer
4. Ask for accessWritten permission for your crawler, with its user agent and rateThe retailer
5. Authenticate a commercial crawlerA dedicated user agent plus one of: Web Bot Auth (signed requests, RFC 9421), a two-way reverse DNS lookup, a static IP list, a dynamic IP list file (CSV, JSON or plain text that DataDome downloads), or a private AS (not a hosting AS such as AWS, GCP or Hetzner); then DataDome's verification form. Each site decides whether to allow authenticated botsDataDome, Bot authentication

Only after these, and only for public pages the terms allow, does the setup in the rest of this article apply. ProxyField's rule for every site: public pages only, and follow the site's terms.

Blocked while browsing as a person? Use a current browser with JavaScript and cookies on, pause privacy extensions, turn off any VPN or proxy, wait a few minutes before you reload, and contact the retailer if the block stays. DataDome's Device Check runs in the browser, so a browser that blocks scripts or cookies cannot pass it.

The three systems at a glance

FeatureDataDomePerimeterX (HUMAN)hCaptcha
What it isA bot protection service in front of or inside the siteA bot protection service, now HUMAN Security's Bot DefenderA CAPTCHA a site embeds, with passive modes on Enterprise plans
What you seeA block page, or its slider CAPTCHAThe HUMAN Challenge, a "press and hold" button, or a blockA checkbox and image tasks, or nothing in passive modes
What it readsA JavaScript tag, server-side request checks, the datadome cookie, a Device CheckA JavaScript sensor, request checks, its _px cookiesBrowser signals and the answer; Enterprise sites also get a bot score
What passing gives youAn updated datadome cookie for the sessionA session kept in the _px cookiesA single-use token, valid for 120 seconds by default
Where scrapers meet itSites that add bot protection, on pages and APIsSites that add bot protection, on pages and APIsSign-up, login and contact forms

Sources for the DataDome column: DataDome docs, its cookie page and its slider page; for PerimeterX: HUMAN's HUMAN Challenge and cookies pages; for hCaptcha: hCaptcha docs.

Which DataDome response did you get?

DataDome answers a suspicious page request with one of three pages, which the site configures in its dashboard (Response pages); AI agents calling a site's MCP endpoints get a JSON error instead:

ResponseWhat you seeWhat it meansWhat to do
Device CheckA short loader, nothing to clickDataDome checks the device "without the need for any user interaction", for suspicious requests only; after a pass it "remembers the outcome and does not repeat the verification" (Device Check)Use a real, current browser with JavaScript and cookies on (Chrome 60+, Firefox 55+, Edge 80+, Safari 11+); a client that cannot run it will not pass
CAPTCHADataDome's sliderDetection is unsure whether the request is automatedTreat it as a stop sign for that session: close it and slow down
BlockA hard block pageThe request is "hard-blocked"Stop; check the site's terms and ask for access or an official feed
Agent blockedA JSON error for an AI agent, type https://docs.datadome.co/docs/error-agent-blockedDataDome flagged the agent's request as unauthorized or anomalous, for causes such as "Abnormally high request rate" or "Missing or malformed protocol headers" (Agent blocked)"Do not retry automatically": fix the cause, or authenticate the agent (step 5 above)

A scraper that sees the Device Check pass and then the slider on later pages is sending signals that change during the session: the IP, the cookies or the request pattern.

Easy Trial: 1 GB for $2.95.
Try for the price of 1 GB, no subscription, traffic never expires.

DataDome CAPTCHA: what it is and what triggers it

DataDome's CAPTCHA is its own slider, which DataDome describes as "100% homemade with zero third-party involvement" and which works on mobile and desktop. A site can trigger it with custom rules, but DataDome notes that its threat detection models can override the site's choice (DataDome Slider). In practice, you see it when DataDome's scoring is unsure about a request; when it is sure, you get a block instead.

The datadome cookie carries the session's state: DataDome uses it "for both server-side and client-side detection to assess the legitimacy of a request", keeps it for 1 year, and says it contains no personally identifiable information (DataDome: Cookies and stored data). A scraper that drops cookies, or swaps IPs while keeping the cookie, gives DataDome an easy signal.

PerimeterX (HUMAN) challenge

PerimeterX became part of HUMAN Security, and its bot defense now runs under the HUMAN name (Bot Defender). Its challenge, the HUMAN Challenge, asks you to press and hold a button; HUMAN says it tracks mouse, touch and keyboard events on the challenge page and is built to be hard to solve through API calls, automation or CAPTCHA farms (HUMAN Challenge). Its _px cookies keep the visitor's session with HUMAN and, by HUMAN's account, hold no personally identifiable information. Like DataDome, it decides mostly from signals collected before the challenge appears (the browser, the client's fingerprint, the IP and the request pattern), so a scraper that triggers it on every page has a signal problem, not a challenge problem.

hCaptcha

hCaptcha is a CAPTCHA the site embeds itself: a widget that, once solved, adds a token to the form, which the site's server verifies with hCaptcha before it accepts the request. hCaptcha's documentation says each token can be redeemed once and expires after 120 seconds by default, and that "a frontend callback alone does not authorize the request". Enterprise accounts can use passive "No-CAPTCHA" modes and receive a bot score with each verification (hCaptcha docs). For a scraper, that means solving has to happen just before submitting, in the same session.

CyberSiARA CAPTCHA

CyberSiARA sells SiARA Shield, which it positions as a CAPTCHA alternative: behavioral analysis of mouse movement, typing and interaction first, and, only for sessions that look suspicious, a visual test it describes as "designed to resist AI and OCR-based attacks" (CyberSiARA). As with the others, most visitors never see the challenge, and a scraper that does has already been scored as suspicious.

What lowers the challenge rate

Work on the signals first; the table shows what each fix changes on each system.

FixDataDomePerimeterX (HUMAN)hCaptcha
Residential or mobile IPs instead of data center IPsHelps with IP reputationHelps with IP reputationHelps where the site or Enterprise score weighs the IP
One sticky IP and one cookie jar per sessionImportant: keeps the datadome cookie consistentImportantNeeded: the token is single-use and short-lived
A slower, irregular request rateHelpsHelpsHelps
A real browser, or a browser-matched TLS clientNeeded for the JavaScript tagNeeded for the sensorNeeded to run the widget
A solver serviceOnly with the same IP and browser, and the next check still appliesOnly with the same IP and browserWorks for visible tasks; the token expires in 120 s

Residential proxies and mobile proxies cover the first row; ProxyField sticky sessions hold an IP for 30 s to 36 h, with country, region and city targeting. The browser and TLS rows are in browser fingerprinting in web scraping and TLS and TCP fingerprinting.

Selenium, Playwright and Puppeteer against DataDome and PerimeterX

Plain Selenium, and default headless Playwright or Puppeteer, are among the easiest clients for these systems to spot: automation flags and headless differences are exactly what their JavaScript checks look for. What helps, in order:

  1. Run headed or a less detectable browser build, on a desktop-like setup, not default headless.
  2. One browser context per session, with its own sticky residential IP and cookies, kept for the whole session.
  3. Navigate like a visitor where the site expects it: land on a listing page before product pages, and pace requests.
  4. Detect the challenge and back off. When the slider or the press-and-hold page appears, close that context and start a new session later, rather than retrying at once.

This Playwright snippet opens one context through the ProxyField gateway and checks whether the page shows a CAPTCHA frame. As written it gets a new IP on every request; to keep one IP for the context, add a session id: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default) after the location, as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600. Replace <login> and <password>, and adjust the selector to the challenge your target shows.

Python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, proxy={
        "server": "http://gate.proxyfield.io:7000",
        "username": "<login>-country-us-city-new_york",
        "password": "<password>",
    })
    context = browser.new_context(locale="en-US", timezone_id="America/New_York")
    page = context.new_page()
    page.goto("https://example.com/", wait_until="domcontentloaded")
    page.wait_for_timeout(3000)  # challenge frames load after the page
    challenged = page.locator("iframe[src*='captcha']").count() > 0
    print("challenge shown" if challenged else "page loaded", page.title())
    browser.close()

The locale and time zone match a US IP: a browser that says one country while the IP says another is a mismatch these systems score. Proxy setup per tool: Playwright, Puppeteer, Selenium.

Scraping retail sites protected by DataDome

On retail sites that use DataDome, scrapers usually meet it on product and search pages. Start with the official routes above. Where the terms allow collection, a setup that holds up:

  • Pace requests per site, and spread them over many residential IPs, with one sticky IP per session.
  • Keep each session's cookies, including datadome, and never move a cookie to another IP.
  • Use a real browser for pages that run the JavaScript tag; use the site's JSON endpoints where the page loads its data from them.
  • Treat the slider as a stop sign for that session, not something to hammer.

Some scraping APIs run the browser and the IPs for you; none is a guaranteed way past a protected site, so test one on your target before you rely on it.

ProxyField's Web Scraping API fetches any URL as plain HTTP or with JavaScript rendering, billed on successful results only; contact sales.

CAPTCHA solvers and these systems

Many solver services list hCaptcha, and some list DataDome's slider and HUMAN's challenge. A solved challenge from these systems is tied to the session that saw it, so the solver must work through the same IP and with the same browser details, and the next request is still scored on its own signals. That makes solvers a fallback for an occasional challenge, not a way to scrape a protected site at volume. How solver services compare: CAPTCHA solver services compared.

When to stop

These systems are bought by sites that want to limit automated access. If every IP and client you try is challenged, go back to the official routes: the site's terms, an official API or feed, a request for access, or DataDome bot authentication for a commercial crawler. Login, sign-up and checkout flows are where the challenges protect accounts and stock, and automating them is what ProxyField's acceptable use policy forbids (fake accounts, fraud). See is web scraping legal.

ProxyField residential proxies and mobile proxies share one balance, with sticky sessions up to 36 h and city targeting; residential traffic costs $2.95/GB for 1 GB down to $1.95/GB from 1,000 GB, with no subscription. They change the IP signal only, not the site's terms.

DataDome CAPTCHA and Blocks FAQ

How do I deal with DataDome blocks when scraping retail sites?

ProxyField's 412M+ residential IPs cover only the IP part, so start elsewhere: stop retrying (DataDome advises "Do not retry automatically"), read the retailer's terms, and look for an official API, feed or written permission; a commercial crawler can authenticate with DataDome (a dedicated user agent plus Web Bot Auth, reverse DNS, an IP list or a private AS). For public pages the terms allow, pace requests, keep one sticky IP and one cookie jar per session, and use a real browser for pages that run DataDome's JavaScript. Treat the slider or a block page as a stop sign for that session.

What is a DataDome CAPTCHA?

It is DataDome's own slider challenge, built in-house, which appears when DataDome's detection is unsure whether a request is automated. When it is sure, you get a block page instead.

What is a DataDome Device Check?

It is DataDome's silent check of the browser and device, shown only to suspicious requests and run "without the need for any user interaction". After a pass, DataDome remembers the outcome; a client that cannot run JavaScript does not pass it, and the next step is the slider CAPTCHA or a block.

What does DataDome's "Agent blocked" error mean?

It is the JSON error DataDome returns when it flags an AI agent's request to a site's MCP endpoint as unauthorized or anomalous, for causes such as an abnormally high request rate or missing protocol headers. DataDome's instruction is "Do not retry automatically": fix the cause, or authenticate the agent.

How do I get my crawler allowed on a DataDome-protected site?

Give it a dedicated user agent, set up one of DataDome's 5 authentication methods (Web Bot Auth signatures, two-way reverse DNS, a static IP list, a dynamic IP list file or a private AS) and submit DataDome's verification form. Each protected site then decides whether to allow authenticated bots, so ask the site for access as well.

Why does Selenium get blocked by DataDome, and what helps?

Plain Selenium is easy for DataDome to spot, so run a headed browser with one sticky residential IP and its own cookies per session, set the browser's locale and time zone to match the IP, navigate and pace like a visitor, and close the session when the slider appears. Expect to need more care than with Playwright or Puppeteer.

Why does Playwright get blocked by PerimeterX, and what helps?

The same rules apply as for DataDome: headed rather than default headless, one context per session on a sticky residential IP, consistent locale and time zone, and a human pace. When the press-and-hold challenge appears, drop that context and start a new session later.

Why does Puppeteer get blocked by PerimeterX, and what helps?

Launch Chrome through a residential proxy with --proxy-server and page.authenticate(), keep one browser context and IP per session, avoid default headless mode, and pace requests. Puppeteer alone doesn't hide its automation traces, which are what the HUMAN sensor checks.

What is a PerimeterX CAPTCHA?

It is the challenge PerimeterX (now HUMAN Security) shows to requests it suspects are automated: the HUMAN Challenge, a "press and hold" button. The decision to show it comes from signals collected before, so the challenge itself is the last step.

Show 6 more questionsShow fewer questions

Is PerimeterX owned by HUMAN?

Yes. PerimeterX became part of HUMAN Security, and its bot defense products now carry the HUMAN name.

Can CAPTCHA solvers handle DataDome, PerimeterX and hCaptcha?

Many solver services handle hCaptcha, and some list DataDome's slider and HUMAN's challenge. A solved challenge is tied to the session that saw it, so the solver has to use the same IP and browser details, and the next request is still scored on its own.

Can an hCaptcha CAPTCHA be solved automatically?

The visible image tasks can, through a solver service that returns a token. The token is single-use and expires after 120 seconds by default, so it has to be solved just before submitting, in the same session; passive Enterprise modes show nothing to solve.

What is CyberSiARA CAPTCHA?

CyberSiARA's SiARA Shield checks behavior first (mouse movement, typing, interaction) and shows a visual test only to sessions that look suspicious; the company says the test is designed to resist AI and OCR. Most visitors never see it.

Are residential proxies required to get past DataDome?

Not strictly, but data center IPs start with less trust, so residential or mobile IPs make a real difference on DataDome sites. They don't replace a consistent browser, kept cookies and a human pace.

Can I customize headers to get past DataDome?

Headers alone rarely help. DataDome also reads the TLS fingerprint, runs JavaScript in the page and checks cookies, so a Chrome User-Agent on a non-browser client still looks like what it is.

Easy Trial: 1 GB for $2.95.

Try for the price of 1 GB, no subscription, traffic never expires.