The leaderboard
| Rank | Engine | Type | Overall score | Network | Device Issues | TLS score | Cost / 100 runs |
|---|---|---|---|---|---|---|---|
| 1 | | Scraping | 89 | 93 | 14 ±6 | 95 | $0.40 |
| Bright Data Visit ↗ Web-data platform; cloud Scraping Browser bundled with proxies.
| |||||||
| 2 | | Scraping | 88 | 90 | 15.3 ±4 | 100 | $0.14 |
| Scrapeless Visit ↗ Scraping platform with a managed cloud browser.
| |||||||
| 3 | | Cloud automation | 84 | 89 | 16.4 ±6 | 94 | $0.15 |
| Browser Cash Visit ↗ Cloud browser service.
| |||||||
| 4 | | Scraping | 83 | 95 | 19.9 ±3 | 100 | $0.90 |
| ScrapFly Visit ↗ Web scraping API with a cloud browser.
| |||||||
| 5 | | Scraping | 81 | 91 | 18.2 ±7 | 89 | $0.12 |
| Scrape.do Visit ↗ Rotating-proxy web scraping API.
| |||||||
| 6 | | Cloud automation | 81 | 89 | 19.6 ±2 | 95 | $0.25 |
| Driver.dev Visit ↗ Hosted & distributed browser automation.
| |||||||
| 7 | | Scraping | 80 | 93 | 19.2 ±8 | 94 | $0.43 |
| ZenRows Visit ↗ Web-scraping API and Scraping Browser.
| |||||||
| 8 | | Cloud automation | 78 | 95 | 22.6 ±5 | 100 | $0.58 |
| Notte Visit ↗ Browser-using AI agent platform.
| |||||||
| 9 | | Cloud automation | 73 | 30 | 17.3 ±4 | 95 | $1.12 |
| BotCloud Visit ↗ Cloud browser driven over CDP.
| |||||||
| 10 | | LLM agent | 73 | 93 | 26.1 ±3 | 95 | $0.35 |
| Browser Use Visit ↗ Cloud platform for LLM browser agents.
| |||||||
| 11 | | Cloud automation | 72 | 55 | 21.5 ±2 | 95 | $0.33 |
| Rebrowser Visit ↗ Undetectable cloud browsers on real Windows and mobile devices.
| |||||||
| 12 | | Cloud automation | 70 | 100 | 28.7 ±3 | 95 | $0.48 |
| Anchor Visit ↗ Cloud browser for AI agents.
| |||||||
| 13 | | Cloud automation | 62 | 55 | 26.8 ±3 | 88 | $0.10 |
| Kernel Visit ↗ Cloud browser infrastructure for agents.
| |||||||
| 14 | | Cloud automation | 59 | 30 | 27.1 ±3 | 100 | $0.17 |
| Steel Visit ↗ Browser API built for AI agents.
| |||||||
| 15 | | Cloud automation | 59 | 30 | 27.5 ±2 | 100 | $0.20 |
| Browserbase Visit ↗ Headless browser infra for agents & automation.
| |||||||
| 16 | | Scraping | 52 | 30 | 24.9 ±10 | 63 | $0.26 |
| Oxylabs Visit ↗ Web Scraper API with Realtime rendering.
| |||||||
| 17 | | Cloud automation | 51 | 30 | 31.2 ±1 | 88 | $0.17 |
| Hyperbrowser Visit ↗ Cloud browsers for agents & scraping.
| |||||||
| 18 | | Cloud automation | 50 | 55 | 35 ±1 | 82 | $0.15 |
| Cloudflare Visit ↗ Remote browser sessions on Cloudflare's network.
| |||||||
| 19 | | Scraping | 48 | 30 | 34 ±5 | 100 | $0.10 |
| ScrapingBee Visit ↗ Web-scraping API that renders pages.
| |||||||
| 20 | | Cloud automation | 41 | 30 | 36.9 ±2 | 82 | $0.25 |
| Browserless Visit ↗ Headless browser automation service.
| |||||||
| 21 | | Scraping | 24 | 30 | 47.2 ±5 | 79 | $1.33 |
| Apify Visit ↗ Actor platform; ran the Playwright Scraper.
| |||||||
Engines are ranked by their overall stealth score1 A 0–100 composite of device-integrity issues, network reputation, and TLS authenticity, weighted 0.6 / 0.2 / 0.2 toward behavior. Higher is stealthier; this is the value the board sorts on.: higher means fewer tells. The table is sortable, and each row expands to the full per-engine breakdown.
The full board, lowest score to highest. The leaders on the right are bunched within a few points of each other, and every engine was still detected on every run.
Overall stealth score by engine
Disagree with a ranking, or want to see a service on the board? Get in touch, we’ll run it through the harness.
Cost vs. stealth
Stealth is only half the decision; the other half is what it costs to run2 Cost is what you’d pay at each vendor’s entry paid tier to execute 100 benchmark signup runs, each modeled as a ~60-second session, ~0.5 MB of egress, and ~2 billable API calls. Per-hour, per-GB, per-credit, and per-CU pricing is normalized to that fixed workload so the column compares like-for-like. Residential and mobile engines include that bandwidth; datacenter engines don’t, and would cost more once you add a proxy.. Plotting the two against each other, up and to the right is the better corner: cheap and stealthy.
Frontier: Kernel → Scrape.do → Scrapeless → Bright Data. Engines off the frontier are dominated: you can pay less for equal stealth, or get more stealth for equal spend, by moving to a frontier point.
Where engines trip up
No single tell gives an engine away. Detection is spread across fingerprint inconsistencies, the runtime environment, automation markers, timing, and input behavior, so closing one gap just exposes the next. Here is how the signals that did fire break down by category.
- Fingerprint 50%
- Automation markers 22%
- Environment 16%
- Timing 7%
- Input behavior 5%
Each category is a different question Foil asks about a session. Here is what they look at, and the kind of tell that lands an engine in each bucket.
| Category | What it looks at | Example tells |
|---|---|---|
| Fingerprint | The hardware and rendering identity a browser presents: graphics, audio, fonts, screen, and the device it claims to be. | Values that don’t cohere with one another, or that match a known spoofing toolkit instead of a real device. |
| Environment | The browser’s runtime: which capabilities are present, and how the underlying engine actually behaves. | Surfaces a genuine install would expose that are missing, or behaviour that doesn’t match the browser being claimed. |
| Automation markers | Traces left by the protocols and drivers used to control a browser remotely. | Side effects of being driven by software that a human-operated browser never produces. |
| Timing | How long operations take, and the rhythm of events through a session. | Patterns that are too uniform, too fast, or sequenced in an order people don’t manage. |
| Input behavior | Mouse, keyboard, scroll, and touch dynamics during the flow. | Motion that’s too clean, missing the small corrections and variance of a real hand. |
How we tested
We took the strongest commercial anti-detect and automation browsers and ran each one through the
same task: create a new account on a site protected by Foil. Signup is the sharp end of the bot
problem, the moment a fake identity is minted, so it is where detection matters most. The numbers
above are what Foil saw, averaged per engine across many runs collected from May 25, 2026 to July 13, 20263 Scored end-to-end by the production API at api.usefoil.com, the same path that scores live customer traffic, not a research fork..
Every session is graded end to end by the same production API that scores live customer traffic, not a research fork. The overall stealth score is a 0 to 100 composite of three things: how many device-integrity issues a session trips, weighted most heavily (0.6); the reputation of the network it arrives on, mobile over residential over datacenter (0.2); and whether its TLS handshake is authentic and matches the User-Agent it claims on the wire (0.2). Higher means fewer tells.
Underneath that score, Foil watches dozens of independent signals across five families: fingerprint coherence, the runtime environment, automation-protocol markers, timing, and input behavior. Across the whole test, 150 distinct signals fired. No engine avoided all of them, and not one session ever scored as a genuine human.
Each engine ran at least 20 runs to average out luck; this snapshot spans May 25, 2026 to July 13, 2026 after fresh Browser Use, Kernel, Oxylabs, Rebrowser, and ScrapFly Cloud Browser API runs. We ranked only services we could drive through the complete signup flow; a handful refused the task outright and were left off the board. These tools ship updates constantly, and so do we, so positions will shift over time.
What is Foil?
Foil specializes in catching AI-driven fraud. Agents have popularized tampered browser distributions (AKA stealth browsers) because they help evade bot defenses, but the same browsers are increasingly in the hands of fraudsters. That is exactly why we run this benchmark.
Foil catches them. First it detects when someone is spoofing a device or browser. Then it builds a stable, unique fingerprint for every one of your real users. And finally it analyzes their behavior, every swipe, tap, and form fill, to seal the deal. It is the same engine that scored every run on this page.
You really have to try it yourself to believe it. Or get in touch if you have questions.