In This Article

Back to blog

FlareSolverr 2026: Guide to Bypassing Cloudflare Challenges

Tutorials

Vilius Dumcius

Last updated - ‐ 9 min read

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.

Ready to get started?
Register now

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.

Create Account
Share on
Article by IPRoyal
Meet our writers
Data News in Your Inbox

No spam whatsoever, just pure data gathering news, trending topics and useful links. Unsubscribe anytime.

No spam. Unsubscribe anytime.

Related articles