FlareSolverr 2026: Guide to Bypassing Cloudflare Challenges
Tutorials

Vilius Dumcius
Key Takeaways
-
FlareSolverr is an open-source proxy server designed to bypass Cloudflare challenges by mimicking real user browser behavior through a headless browser.
-
The tool is effective for basic JavaScript challenges, though its success rate has decreased against modern Cloudflare Turnstile protections.
-
Using high-quality proxies with FlareSolverr is essential to maintain high success rates and avoid IP-based blocks.
FlareSolverr is a helpful tool that lets people bypass Cloudflare checks. Many web scraping projects use it because bots often run into security checks on some websites. It helps your scraper act more like a human being, so you can get the data you need without getting banned.
What Is FlareSolverr
FlareSolverr is an open-source tool designed to help developers bypass Cloudflare security checks. It works by setting up a local server that handles the tricky parts of visiting a website.
Under the hood, it uses Undetected ChromeDriver to strip away common bot fingerprints to make sure the target site thinks a human is visiting. It makes it much easier to bypass Cloudflare when you are trying to gather information from Cloudflare-protected websites.
The system is built upon Selenium and UndetectedChromeDriver, and acts like a proxy server. You send POST requests to the FlareSolverr server with a payload that indicates various features, such as the type of HTTP request, the URL, and the timeout time.
While FlareSolverr is easy to deploy, overcoming 2026-level security often requires fine-tuning environment variables and timeout settings to achieve consistent results.
How FlareSolverr Works
FlareSolverr, when installed on a device, creates a server that is constantly running in the background. While no requests are being sent, the FlareSolverr proxy is idle, unless you have active sessions maintained for cookie reuse.
When a user sends a GET request, however, the Flaresolverr server picks up the request and initiates a Selenium session that runs Undetected ChromeDriver. FlareSolverr will then visit the website described in the payload.
If it’s presented with a Cloudflare challenge, FlareSolverr will attempt to solve it (or wait until timeout). Once the Cloudflare challenge is solved, the HTML and the cookies are sent back to the user.
By default, FlareSolverr cannot solve interactive CAPTCHAs natively, though it supports integration with third-party solving services. While FlareSolverr lacks a built-in solver, highly effective AI-based solving APIs are now the industry standard for bypassing these hurdles.
Advantages of FlareSolverr
FlareSolverr is great because it works right out of the box. If you’re spinning up a quick web scraping project that intends to bypass Cloudflare, it’s the perfect addition. The setup is simple, and it automates JavaScript challenges, though it often requires custom headers or stealth patches to avoid modern fingerprinting detection.
Furthermore, it provides a stable way to run FlareSolverr on different systems like Windows or Linux. The flexibility allows small teams to start collecting data almost immediately.
Limitations of FlareSolverr
First, there’ll be major performance overheads if you intend to send a lot of requests to the proxy server. It’ll start a headless browser session for each one, which can quickly run up performance costs.
As such, FlareSolverr is not the best if you scrape at an enormous scale. Additionally, while the out-of-the-box solution is beneficial if you’re running a small project, it’ll become a hindrance if you need to customize it.
FlareSolverr was once the go-to for almost all Cloudflare hurdles, but the rise of behavioral analysis has made it less of a silver bullet. Unfortunately, CAPTCHAs have become much more difficult, making it impossible (currently) to solve natively within FlareSolverr. So, you’ll have to look for another solution to solve that particular Cloudflare challenge.
Why FlareSolverr Stops Working
Sometimes the tool might fail to bypass Cloudflare because the security systems on websites change. Cloudflare frequently updates its code to detect automated tools better. If the browser’s fingerprint (TLS or Canvas data) doesn’t match a standard user profile, Cloudflare’s behavioral analysis will flag the tool as a bot.
Another common issue is that your IP address might get flagged if you send too many requests too quickly. While keeping software updated is vital, you may also need to apply stealth patches or custom User-Agents to bypass the most recent detection logic.
Using FlareSolverr With Proxies
To bypass Cloudflare more reliably, you should use proxies with your FlareSolverr setup. Proxies hide your real IP address by routing your traffic through a different server. It’s important when you need to bypass Cloudflare across many different pages at once.
Using a single IP frequently triggers a challenge loop, where Cloudflare repeatedly serves puzzles that eventually exhaust the tool’s resources. High-quality residential or mobile proxies are best here because they look like normal home internet users, which adds credibility.
Installing FlareSolverr
You can install and run FlareSolverr on Windows, Linux, or through Docker. FlareSolverr’s developers recommend using Docker, however, other versions work just as fine.
Installing FlareSolverr on Windows
One of the easiest ways to get FlareSolverr on your Windows machine is to use the precompiled binaries . You can use the source code and compile it yourself. While FlareSolverr is cross-platform, it’s most commonly deployed on Linux servers for 24/7 web scraping operations.
Once you download the ZIP file, extract it anywhere on your machine. Then, open the folder and execute “Flaresolverr.exe”.
If required, ensure that port 8191 is allowed through your Windows firewall to permit communication with the local server. If everything is successful, you’ll get a Terminal window stating that the test was successful and that FlareSolverr is being served on a particular IP address.
Installing FlareSolverr on Linux
While the developers recommend using Docker for all installations, you can install and run Flaresolverr on Linux without it.
Before running the binary on Linux, ensure you have installed Xvfb and the necessary Chromium dependencies (like libgbm1) to allow the browser to run without a GUI.
mkdir FlareSolverr
cd FlareSolverr
Then, use wget to download the x64 version from the GitHub releases page , as precompiled binaries are currently limited to this architecture.
Once that's completed, use the tar command to extract the files:
tar -xzf flaresolverr_linux_x64.tar.gz
Move to the newly created folder:
cd flaresolverr
You can now execute FlareSolverr through a command:
./flaresolverr
Like with Windows, the proxy server should initiate and provide you with an IP address that will serve as our endpoint.
Installing FlareSolverr on Docker
Docker is the recommended way to install FlareSolverr. You'll need Docker first, which you can install on Windows, Mac, and Linux .
Once installed, you'll have to pull the FlareSolverr image into your Docker container. Run the following command in the terminal window:
docker pull ghcr.io/flaresolverr/flaresolverr:latest
docker run -p 8191:8191 -d ghcr.io/flaresolverr/flaresolverr:latest
Your terminal window should populate with FlareSolverr details and the proxy server IP address.
Alternatively, if you're using Windows, you can use the search bar to find the FlareSolverr container and run it.
You can also use Docker Compose to clone the repository and run the executable.
Configuring FlareSolverr
There are many settings you can tinker with for FlareSolverr that may help you solve Cloudflare protection challenges. You can do so by either setting the command at execution or by changing environment variables.
You can change your FlareSolverr timeout time by starting it with a specific argument:
docker run -d --name flaresolverr -p 8191:8191 -e BROWSER_TIMEOUT=120000 flaresolverr/flaresolverr
You can perform the same process to change the time zone of the Docker instance:
docker run -d --name flaresolverr -p 8191:8191 -e TZ=America/New_York flaresolverr/flaresolverr
To ensure stability and visibility, set variables like LOG_LEVEL and CAPTCHA_SOLVER in your Docker container. For that, you'll need to create a docker-compose.yml and set these settings:
version: '3.8'
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
ports:
- "8191:8191"
environment:
- LOG_LEVEL=info
- BROWSER_TIMEOUT=120000 # Increased for complex 2026 challenges
- TZ=America/New_York
- HEADLESS=true
restart: unless-stopped
You'll then have to use the terminal, go to the location of the file, and run this command:
docker-compose up -d
FlareSolverr Usage
Once you configure FlareSolverr to your liking, you'll need to start sending requests to the FlareSolverr instance. While you can use cURL to do so, Python is our preferred way to send HTTP requests.
You'll primarily need the Requests library, which you can install via pip. Open up Terminal and run:
pip install requests
Once that's set up, we can start sending requests to the FlareSolverr endpoint. Make sure FlareSolverr is running before you attempt to execute the code below:
import requests
url = 'http://localhost:8191/v1'
data = {
"cmd": "request.get",
"url": "https://iproyal.com",
"maxTimeout": 120000
}
response = requests.post(url, json=data, timeout=130)
print(response.text)
We start by importing the aforementioned libraries and create an object that stores our FlareSolverr endpoint IP address. If the one listed in the code doesn't work, try copying and pasting the IP address provided in the Terminal when you started the FlareSolverr instance.
FlareSolverr needs a payload so it understands what to do. As such, we create a dictionary with several key and value pairs:
- We start by setting the command to request.get, so the FlareSolverr instance knows to send a GET HTTP request.
- We also provide a URL where we want to send the GET request .
- Finally, we set a custom timeout period.
Additionally, we've included some headers and set them to the json file format. Using JSON ensures FlareSolverr interprets your commands correctly, but matching your script's User-Agent to the one FlareSolverr uses is the real key to stability.
Finally, we send a POST request to our FlareSolverr instance and print out the response.
You may also want to change some other settings in FlareSolverr. User agents , for example, are important when evading various Cloudflare protection challenges.
import requests
url = 'http://localhost:8191/v1'
data = {
"cmd": "request.get",
"url": "https://example.com",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",
"maxTimeout": 120000
}
response = requests.post(url, json=data, timeout=130)
print(response.text)
Our code is almost identical. However, the data dictionary now includes a custom FlareSolverr user agent. Setting these can help reduce the likelihood of running into various Cloudflare challenges.
You should be careful, however, as improperly set user agents can increase the likelihood of Cloudflare challenges or even block your access to a website entirely.
Conclusion
You should integrate FlareSolverr in any web scraping project where you don't need a lot of customization and won't be running millions of requests. FlareSolverr simplifies the bypass process, though 2026 security often requires additional tuning of environment variables for consistent success.
Building a custom solution similar to FlareSolverr will become important once you want to squeeze every bit of performance out of your web scraping project, however. FlareSolverr is a great starting point, but it will rarely be enough for business-grade web scraping.
Finally, if the only Cloudflare challenge you're having issues with is CAPTCHAs, FlareSolverr won't be a lot of help. FlareSolverr doesn’t solve CAPTCHAs natively, but it can be integrated with external AI-solving APIs to handle them automatically.
FAQ
Does FlareSolverr still work with Cloudflare?
Yes, the tool is still able to bypass Cloudflare for many websites. It handles the browser-based checks that verify if a visitor is a real person. However, its success depends on the specific security settings of the target site.
Why is FlareSolverr not working anymore?
It might stop working if Cloudflare updates its detection methods. If the website sees that your browser fingerprint is not right, it will block the request. You may need to update your Docker image or apply stealth fingerprinting patches to prevent Cloudflare from identifying the browser as a bot.
Can FlareSolverr solve Cloudflare CAPTCHAs?
No, FlareSolverr handles the browser logic for Turnstile but requires an external solving service if a truly interactive puzzle is presented. These puzzles are designed to stop bots and require more complex tools or human help.
Is FlareSolverr detectable by Cloudflare?
Yes, it can be detected if it’s not configured correctly. Using an outdated or inconsistent User-Agent is a red flag. Always match your scraper’s headers with a modern browser version (e.g., Chrome 144+). Using proxies and custom headers helps reduce the chance of being caught.
Does FlareSolverr work with proxies?
Yes, it works very well with proxies. Adding a proxy to your request payload allows you to change your IP address for every task. This is a key step to bypass Cloudflare without getting your main network blocked.