DataDome CAPTCHA and Blocks, With PerimeterX and hCaptcha
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
- DataDome blocks on retail sites: official routes before any technical fix
- The three systems at a glance
- Which DataDome response did you get?
- DataDome CAPTCHA: what it is and what triggers it
- PerimeterX (HUMAN) challenge
- hCaptcha
- CyberSiARA CAPTCHA
- What lowers the challenge rate
- Selenium, Playwright and Puppeteer against DataDome and PerimeterX
- Scraping retail sites protected by DataDome
- CAPTCHA solvers and these systems
- When to stop
- DataDome CAPTCHA and Blocks FAQ
DataDome blocks on retail sites: official routes before any technical fix
| Step | What to do | Source |
|---|---|---|
| 1. Stop automatic retries | Do 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 terms | Many retailers forbid scraping outright: Target's terms list "any use of data extraction, scraping, mining or other data gathering tools" among prohibited uses | Target, terms (last updated September 10, 2026) |
| 3. Use an official source | The retailer's API, product feed or affiliate feed, or its price alerts | The retailer |
| 4. Ask for access | Written permission for your crawler, with its user agent and rate | The retailer |
| 5. Authenticate a commercial crawler | A 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 bots | DataDome, 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
| Feature | DataDome | PerimeterX (HUMAN) | hCaptcha |
|---|---|---|---|
| What it is | A bot protection service in front of or inside the site | A bot protection service, now HUMAN Security's Bot Defender | A CAPTCHA a site embeds, with passive modes on Enterprise plans |
| What you see | A block page, or its slider CAPTCHA | The HUMAN Challenge, a "press and hold" button, or a block | A checkbox and image tasks, or nothing in passive modes |
| What it reads | A JavaScript tag, server-side request checks, the datadome cookie, a Device Check | A JavaScript sensor, request checks, its _px cookies | Browser signals and the answer; Enterprise sites also get a bot score |
| What passing gives you | An updated datadome cookie for the session | A session kept in the _px cookies | A single-use token, valid for 120 seconds by default |
| Where scrapers meet it | Sites that add bot protection, on pages and APIs | Sites that add bot protection, on pages and APIs | Sign-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:
| Response | What you see | What it means | What to do |
|---|---|---|---|
| Device Check | A short loader, nothing to click | DataDome 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 |
| CAPTCHA | DataDome's slider | Detection is unsure whether the request is automated | Treat it as a stop sign for that session: close it and slow down |
| Block | A hard block page | The request is "hard-blocked" | Stop; check the site's terms and ask for access or an official feed |
| Agent blocked | A JSON error for an AI agent, type https:// | DataDome 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.
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.
| Fix | DataDome | PerimeterX (HUMAN) | hCaptcha |
|---|---|---|---|
| Residential or mobile IPs instead of data center IPs | Helps with IP reputation | Helps with IP reputation | Helps where the site or Enterprise score weighs the IP |
| One sticky IP and one cookie jar per session | Important: keeps the datadome cookie consistent | Important | Needed: the token is single-use and short-lived |
| A slower, irregular request rate | Helps | Helps | Helps |
| A real browser, or a browser-matched TLS client | Needed for the JavaScript tag | Needed for the sensor | Needed to run the widget |
| A solver service | Only with the same IP and browser, and the next check still applies | Only with the same IP and browser | Works 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:
- Run headed or a less detectable browser build, on a desktop-like setup, not default headless.
- One browser context per session, with its own sticky residential IP and cookies, kept for the whole session.
- Navigate like a visitor where the site expects it: land on a listing page before product pages, and pace requests.
- 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.
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.
What is a DataDome cookie?
The datadome cookie holds DataDome's state for your browser: DataDome uses it for server-side and client-side detection, keeps it for a year and says it holds no personally identifiable information. Dropping it, or reusing it from another IP, makes a request look suspicious.
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.
Related pages
Easy Trial: 1 GB for $2.95.
Try for the price of 1 GB, no subscription, traffic never expires.