In this article, we have tried to answer all the key questions. The first step in solving the task is to determine which protection system is being used. To do this, you can refer to the list of popular captchas and anti-bot protection systems, where you will find visual examples and key indicators that help you quickly understand what you are dealing with.
If you discover that your site uses Cloudflare Waiting Room, the next step is to study its properties and operation in more detail. In this article, you can also review the instructions on how to integrate Cloudflare Waiting Room so that you fully understand how it functions on your site. This will help you not only understand the current protection, but also properly plan its maintenance.
When testing the Waiting Room mechanism, it is important to ensure that the queue functions correctly and regulates access to the site.
Here is how you can check this:
For automated testing and captcha recognition, you can use specialized services, such as CapMonster Cloud — a tool that accepts captcha parameters, processes them on its servers, and returns a ready-made solution. This solution (token or cookie) can be inserted into a form or browser to pass the verification without user interaction.
Working with CapMonster Cloud via API typically involves the following steps:
The following parameters must be specified in the request to solve Cloudflare Waiting Room:
type - TurnstileTask;
websiteURL - URL of the page where the challenge is located;
websiteKey - Cloudflare key on the target site;
cloudflareTaskType - wait_room;
htmlPageBase64 - Base64 encoded HTML page containing the title <title>Waiting Room powered by Cloudflare</title>;
userAgent - Browser User-Agent. Pass only an up-to-date UA from Windows OS;
Also, for this task, you must use your own proxies:
proxyType :
proxyAddress - Proxy IPv4/IPv6 address;
proxyPort - Proxy port;
proxyLogin - Proxy server login;
proxyPassword - Proxy server password.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"TurnstileTask",
"websiteURL":"https://example.com",
"websiteKey":"xxxxxxxxxx",
"cloudflareTaskType": "wait_room",
"htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
}
}{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}{
"errorId": 0,
"status": "ready",
"solution": {
"cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0VCJomVuLjF7n0kdM0PXaPjpDsRcohxGr7hb2CE7WfcHpmQZ70goqEjdWxPsDhSVaKNTz9opxWguiNdWEEq_.SceWXIqfP7tnEb69f3bP0mixNqcWy_5P_9INpoAEqr1k7aYU0r45PT4gPr5pwHxedVySyLRdoBXIJasdTE52YOQ3NPdGWTwQ_3h2n_wYqqIvf0kCSAvimRrmsgZxomlyejwqPI6ZHi.w"
}
}The received solution (cookie cf_clearance) can be set in the browser or sent along with the HTTP request by specifying it in the Cookie: cf_clearance=
Below is an example of a request to your page with pre-obtained cookie values. This is useful for testing: you can pass both correct and intentionally incorrect values to ensure your access processing and validation logic works correctly.
GET https://example.com/
sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site: same-origin
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: document
accept-encoding: gzip, deflate, br
accept-language: en-US
cookie: cf_clearance=Jf0udVxx.pxJMEHnish22ZOFt4WZEh8iLKm62gIxQAw-1760087570-1.2.1.1-IAO44jrcaDIU6v3f01Q6MpH58vo521.cgZg9OG5ASav.EIf9fmqH2yETyPkmm7dExFNlRL.dYv6xA4iPtlwMepInUaeFinDbYtoMstD_9Vyexx2B2K.r4eJb9zMCQc0XA3yYDHViOC7cYBYHi58FbvycjBe4o236lyz2eoyC48IS.K1zSsVdqBqIoXIT4tEFYdibXdWudtp57lmyjwpryZy..fGFAcFjAGn3iho98_4
sec-ch-ua-arch: "x86"
sec-ch-ua-bitness: "64"
sec-ch-ua-full-version: "141.0.7390.55"
sec-ch-ua-platform-version: "19.0.0"
sec-ch-ua-model: ""
sec-ch-ua-full-version-list: "Google Chrome";v="141.0.7390.55", "Not?A_Brand";v="8.0.0.0", "Chromium";v="141.0.7390.55"
Origin: https://example.com
Upgrade-Insecure-Requests: 11. Register with Cloudflare and connect your site.
2. In the Traffic → Waiting Room section, create a new queue:
3. Click Create Waiting Room.
Specify:
4. Customize the waiting page design:
5. Save and activate the Waiting Room.
6. Configuring Rules
Cloudflare allows excluding specific traffic from the queue.
Typical Bypass Rules:
Configure:
All bypass rules allow traffic to be excluded from the active user count so that it does not affect the queue.
Advanced Features:
Management via API:
The Cloudflare Waiting Room API allows you to:
POST zones/{zone_id}/waiting_rooms/{room_id}/rules
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"description": "Bypass admins",
"expression": "ip.src in { '1.2.3.4', '5.6.7.8' }",
"action": "bypass_waiting_room",
"enabled": true
}Verifying Operation
1) Open the site from different browsers/devices.
2) Check:
If you’ve taken over a website that already has a captcha or another protection system installed, but you don’t have access to the code, don’t worry! It’s quite easy to identify which technology is being used. To verify that everything works correctly, you can use the CapMonster Cloud recognition service in an isolated test environment to make sure that the token processing mechanism and the validation logic are functioning properly.
In the case of Cloudflare Waiting Room, it’s enough to detect the system, observe its behavior, and confirm that the protection is working correctly. In this article, we showed how to identify Cloudflare Waiting Room and where to find instructions on how to integrate or reconfigure it, so you can confidently maintain the protection and keep its operation under control.