Block pages · DataDome
"Please enable JS and disable any ad blocker": what it means
"Please enable JS and disable any ad blocker" is the block page of DataDome, a bot protection service that many sites put in front of their pages. It comes with status 403 when DataDome judges a request automated. A visitor usually clears it in the browser. A script gets the page with one Web Unlocker call.
- 91.7%
- of calls to DataDome-protected pages answered with the real page, canary of 11 November 2026
- 88.9%
- across all 27 protected targets of the same run
- 4.1 s
- median response across the run
What you are looking at
The page is one sentence and a script. It does not name the site or the service, which is why it is so hard to search for. These are the marks that say it is DataDome.
| Where to look | What it shows |
|---|---|
| Status code | 403. A blocked API call gets 403 with a small JSON body whose url points to captcha-delivery.com. |
| Text on the page | "Please enable JS and disable any ad blocker". Nothing else: no logo, no name, no explanation. |
| Which system | DataDome. The page carries a var dd={...} object and loads a script from ct.captcha-delivery.com. |
| Response header | x-datadome: protected on the answers of a protected site. |
| Cookie | datadome, set on every answer and refreshed each time. |
| What a browser shows next | A short screen that checks the device and clears by itself, or a slider puzzle to drag. |
If you are a visitor
You are not locked out for good, and your account is not flagged. DataDome looked at one request, scored it as possibly automated and sent its check instead of the page. In a normal browser the check runs by itself and the page follows. When all you get is the sentence, something stopped the check from running.
- Turn JavaScript on for the site and pause the ad blocker or privacy extension on it, then reload. Both can stop the check script from loading, which is what the sentence is telling you.
- Try without the VPN or proxy. An address shared by many people scores worse than a home or mobile connection.
- Open the page in a normal window of an up-to-date browser. Reader modes, text browsers and page-saving tools cannot run the check.
- If a slider appears, drag it: it is the same check asking for a person.
- If the sentence is inside an archived copy or a link preview, the archive met the block when it saved the page, not you. Open the original address in your browser.
- Still blocked on a normal home connection? Contact the site. Only its team can see why DataDome scored you that way.
If your script gets it
A script meets this page because DataDome scores every request before the site answers, and a scripted client fails on things a browser gets right without trying.
- The address: hosting ranges, and addresses that already sent a lot of traffic, start with a low score.
- The client: the handshake and the headers of an HTTP library do not match the browser named in its
User-Agent. - The check: the sentence comes with a script that has to run in a browser.
requests, cURL and other HTTP clients cannot run it, so the403repeats however slowly you ask. - The cookie: a
datadomecookie copied from your own browser is refused when another client presents it.
The whole picture of the system is in the guide: Bypass DataDome: Get Past the 403 Block Page.
Get the page with one call
Send the same URL to the REST endpoint. With mode: "auto", the default, the first attempt is a browser-grade request from a residential IP. When DataDome serves its device check, a real browser opens the page, lets the check finish and returns the page behind it.
curl -X POST https://app.quanticdata.io/api/v1/scraper/unlock \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/", "country": "us"}'
For many pages of one site, keep calling from the same account. The first call waits for the device check; the next ones reuse the session, which the answer reports in clearance.
What the answer tells you
| Field | What it says |
|---|---|
blocked | false when the real page came back. true only when every attempt met the block; the block page is then in body. |
vendor | The system the engine recognised on a blocked attempt. For this page: datadome. |
blockClass | Usually js_challenge for the device check and captcha for the slider. |
tier_served | tls for a browser-grade request, browser when a real browser had to open the page. |
attempts, latency_ms | How many tries the call took and how long it lasted. |
cost | The bytes this call moved and what it was charged. |
Measured, with a date
In the canary of 11 November 2026, 11 of 12 calls to DataDome-protected pages came back with the real page. Across the whole run, 72 of 81 calls on 27 protected targets did, with a median response of 4.1 s.
A call counts only when the answer is 2xx and carries the real page, not a challenge. The list, the method and every run are on the Web Unlocker status page.
What it is for, and what it does not do
- It is for pages anyone can open in a browser without signing in: prices, listings, reviews, search results, public profiles.
- Challenges that need no human input are handled by the browser tier. An interactive captcha that asks a person to click, pick images or type is not solved: the answer comes back with
blocked: trueandblockClass: "captcha", so your code can skip the page or try later. - It does not log in for you and it does not create accounts. Pages behind a login stay behind it.
- Whether you may collect a page depends on the terms of the site and on the law that covers the data. A protection system does not change that, in either direction.
Please enable JS: questions people ask
What does "Please enable JS and disable any ad blocker" mean?
It is the block page of DataDome, a bot protection service. The site passed your request to DataDome, which scored it as possibly automated and answered with a check instead of the page. With JavaScript on and no blocker in the way, the check runs in your browser and the page loads.
Which sites show this message?
Any site that uses DataDome: shops, news sites, marketplaces, travel and ticket sites. The sentence is DataDome's own and looks the same everywhere, which is why it names neither the site nor the service. The x-datadome header and a script from captcha-delivery.com confirm where it comes from.
Why do I see it in Chrome, Firefox, Safari or Edge with JavaScript on?
Usually an extension or a network setting stopped the check script: an ad blocker, a privacy extension, strict tracking protection, a VPN or a company proxy. Pause the extension for that site, turn the VPN off and reload. If it still appears, the address you browse from has a poor reputation.
Why does an archived copy or a link preview show this sentence?
Because the archive or the preview service fetched the page with an automated tool, and DataDome answered that tool with its block page. What was saved is the block, not the article. Your own browser is not blocked: open the original address and the page loads as usual.
How do I get past it with Python or cURL?
Not with the library alone: it cannot run the device check, so every request gets the same 403. Send the URL to the Web Unlocker instead. It is still one POST from Python or cURL; the request that reaches the site is browser-grade, and a real browser opens the page when the check is served.
Does the Web Unlocker solve the DataDome slider?
The device check, the screen that clears by itself, is passed by the browser tier. The slider puzzle asks for a person and is not solved: the answer comes back with blocked: true and blockClass captcha, and the next call leaves from a fresh exit, so your code can simply retry.
Send the URL that shows you this page
Create the free account, open Web Unlocker in the dashboard and paste the URL into the test box. The answer shows the status, the tier that served the page, the attempts and the cost of the call.
References
- DataDome docs: response pages (device check, captcha, block)
- DataDome docs: Device Check
- DataDome docs: cookies and stored data
- RFC 9110, section 15.5.4: 403 Forbidden
- Web Unlocker in the QuanticData API docs: request, answer, errors and how to read a block (vendor and blockClass)
- Web Unlocker status: the canary list, the method and every run