Spider Browser scores 85% on Browser Use's stealth benchmark
Spider Browser scored 85% on Browser Use's open stealth benchmark, beating every other cloud browser tested against 80 anti-bot protected sites.
Note: This benchmark is maintained at Spider Research. Results below are the March 22, 2026 snapshot.
Browser Use open-sourced a stealth benchmark that tests cloud browser providers against anti-bot protected websites. It is a hard, honest test, so we ran Spider Browser through it.
We forked their repo, added Spider Browser as a provider, and ran the same 80 tasks with the same LLM judge and methodology. Spider Browser scored 85%, compared to Browser Use Cloud’s 81%.
We did not modify the test suite or cherry-pick results. The benchmark and our full results are open source at github.com/spider-rs/benchmark.
How the stealth benchmark works
Browser Use built Stealth Bench V1 from 300,000 security check events in their production traffic. The test set covers 80 websites protected by every major anti-bot vendor: Cloudflare, PerimeterX, Datadome, Akamai, reCaptcha, hCaptcha, GeeTest, Kasada, Shape, and custom solutions.
Each task is simple by design. Navigate to a protected site, perform a basic interaction, read content. Three steps, no authentication. If it fails, the browser got blocked.
An LLM judge evaluates each result. It only checks whether the agent was blocked, not whether it completed the task. Page load failures count as blocks.
Browser Use validated the difficulty with two baselines: headless Chromium scored 2%, headful Chromium scored 50%. The tasks are hard.
Stealth benchmark results
Stealth Bench V1: Pass Rate by Provider
80 anti-bot protected websites. Higher is better.
| Provider | Score | Pass rate |
|---|---|---|
| Spider Cloud | 68/80 | 85% |
| Browser Use Cloud | 64/80 | 81% |
| Anchor | 59/80 | 74% |
| Onkernel | 54/80 | 68% |
| Browserless | 45/80 | 56% |
| Local Headful | 39/80 | 49% |
| Steel | 35/80 | 44% |
| Hyperbrowser | 35/80 | 44% |
| Browserbase | 33/80 | 41% |
| Local Headless | 2/80 | 3% |
Spider Browser came in 4 points ahead of Browser Use Cloud. We ran the benchmark multiple times and the gap held steady.
Anti-bot category breakdown
The benchmark groups sites by anti-bot vendor. Here is how the top providers perform across each category:
Bypass Rate by Anti-Bot Vendor
Top 5 providers compared across each anti-bot category. Outer edge = 100%.
Head-to-Head by Anti-Bot Vendor
Bypass rate per vendor for the top 5 providers. Green bars mark the category leader.
| Provider | Cloudflare | PerimeterX | Datadome | Akamai | reCaptcha | Others |
|---|---|---|---|---|---|---|
| Spider Cloud | 96% | 83% | 77% | 62% | 100% | 67% |
| Browser Use | 93% | 81% | 69% | 85% | 80% | 40% |
| Anchor | 78% | 81% | 77% | 69% | 83% | 50% |
| Onkernel | 81% | 31% | 62% | 100% | 89% | 67% |
| Browserless | 59% | 28% | 69% | 67% | 83% | 11% |
Two numbers stand out. 96% against Cloudflare, the anti-bot you hit most often on the open web, and 100% against reCaptcha. Spider Browser scored highest overall and led four of the six categories.
PerimeterX and Datadome are still hard for everyone. Spider came in at 83% and 77%. Those two are what we are working on next.
How we ran it
We forked Browser Use’s benchmark repo, added spider-cloud as a browser provider using the spider-browser SDK, and ran the evaluation script unchanged.
opts = SpiderBrowserOptions(
api_key=os.environ["SPIDER_API_KEY"],
server_url="wss://browser.spider.cloud",
captcha="solve",
smart_retry=True,
stealth=0,
max_stealth_levels=3,
hedge=True,
mode="scraping",
)That is the full configuration, with no manual retry logic, per-site tuning, or special browser flags. When a site serves a challenge, the SDK detects it and escalates through the stealth levels on its own.
All 80 tasks completed in under 10 minutes total.
What makes Spider Browser different
Spider Browser is a browser runtime written in Rust that drives Chromium, Gecko, and WebKit from one process. Chrome, Firefox, Safari, Brave, and Edge are profiles it presents, not separate stacks to maintain.
That layout is where the score comes from. Detection stopped being about any one signal a long time ago. What gets you caught now is inconsistency, a browser claiming to be one thing while the details underneath say something else. Patch a fingerprint onto stock headless Chrome and you are creating those contradictions faster than you can paper over them, because the story and the engine telling it were never the same thing.
We went the other way. We build each profile from the engine that renders the page, so there is no story to keep straight. It is just what that browser does.
One API call gets all of it. The runtime picks an engine and profile per request, watches how the site responds, and switches when something pushes back. That is why the config above has no per-site branches in it, and why no single trick accounts for the 85%.
The agentic browser
All of that is groundwork for what we set out to build. An agent does not want a page. It wants to finish something, and finishing something means working through a flow, reading what came back, deciding what to do next, and going again, often for a long time, on sites that were not built to be friendly about it.
A browser that gets blocked deep into that run has wasted the whole run. So has a browser that leaves the recovery to you. Spider Browser keeps sessions open, keeps them consistent across every step inside them, and deals with challenges as they come, so the agent can spend its attention on the task instead of on the browser. Use our SDK, connect Puppeteer or Playwright over CDP, or hand it to an agent through Spider’s MCP server.
Getting past the front door is half of it
A block-free page is worthless if you still have to write the extraction yourself.
In our previous benchmark, we tested 999 URLs across 254 domains and achieved a 100% pass rate with a 2.5s median end-to-end latency. That test covered everything from simple static sites to aggressive WAFs, with full content extraction and screenshots.
Stealth, extraction, screenshots, structured data, and agent-driven interaction all run through the same SDK.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY,
stealth: 0,
});
await spider.init();
await spider.page.goto("https://protected-site.com");
// Structured extraction from any page
const data = await spider.page.extractFields({
title: "h1",
price: ".price",
description: ".product-desc",
});Reproduce the stealth benchmark
Everything is open source. Clone the repo, set your API key, run the benchmark.
git clone https://github.com/spider-rs/benchmark.git
cd benchmark
pip install uv && uv sync
# Decrypt the task set
python -c "
import base64, hashlib, json
from cryptography.fernet import Fernet
key = base64.urlsafe_b64encode(hashlib.sha256(b'Stealth_Bench_V1').digest())
tasks = json.loads(Fernet(key).decrypt(base64.b64decode(open('Stealth_Bench_V1.enc').read())))
json.dump(tasks, open('Stealth_Bench_V1.json', 'w'), indent=2)
"
# Run with Spider Browser
SPIDER_API_KEY=your-key uv run python run_stealth_eval.pyResults land in stealth_bench/official_results/. Compare against every other provider’s results already committed to the repo.
What this means
Credit to Browser Use for building this benchmark and giving it away. Most comparisons in web scraping are vendor slide decks. This one you can run yourself.
Anti-bot detection moves. These numbers will move with it, and some future run will go worse than this one. We will publish those too. Try Spider Browser, set your API key, and point it at any URL.
- spider-rs/benchmark: stealth benchmark fork with Spider results
- spider-rs/spider-browser: TypeScript, Python, and Rust SDKs
- spider-rs/web-scraping-examples: 1,004 ready-to-use scraper scripts
Keep reading
Spider Browser vs. Kernel vs. Browserbase: 999 URLs benchmarked
Kernel benchmarked cold start. We benchmarked reliability: 999 URLs, 254 domains, 18 categories, 100% success and 2.5s median end-to-end latency.
Crawl4AI vs Firecrawl vs Spider Cloud: 1,000 URLs benchmarked
Crawl4AI vs Firecrawl on 1,000 real URLs: 89.7% vs 95.3% success rate, cost per 1K pages, RAG recall@5, and the method so you can rerun it yourself.
Scraping 1 million pages: what actually happens
An engineering log of crawling 1 million pages across 10,000 domains with Spider Cloud's API. Throughput curves, failure modes, cost breakdown, and lessons learned.
Run this on a page you care about
The playground sends the request this page describes and shows you the response. Keyless runs work without an account, capped at 25 a day.