Every site.
Every agent.
One call.

The right browsing tool for every page. Your agent finishes the task.

router
your agent
frankensurf

    Every tool breaks somewhere.

    ApproachStaticJS appCloudflareDataDomeAkamaiPerimeterXBot checksLogin
    Plain HTTP Only81%34%25%38%42%44%24%17%
    Jina Reader Only63%50%25%0%47%56%28%33%
    Headless Chromium Only75%28%8%0%26%0%16%83%
    Camoufox Only94%59%50%13%58%100%28%67%
    Scrapling Only69%81%50%50%74%11%48%83%
    Firecrawl Only75%72%100%88%89%100%88%0%
    Frankensurf94%91%92%88%74%100%92%83%
    80%+ read right40–79%under 40%Measured 6 Oct 2026 on 127 pages. Single tools read logged-in pages without your session.

    Capability first. Cost aware.

    T039%
    T11%
    T215%
    T323%
    T422%
    T50%

    40% never open a browser

    docs.acme.dev T0
    app.acme.dev T2
    shop.example.com T3
    retail.example.com T4

    It remembers what worked

    FSApproval needednow

    Your agent reached a 2FA prompt on bank.example.com.

    ApproveDecline

    Walls it can't pass come to you

    We stitch. We don't reinvent.

    Model providers

    Claude
    ManagedNative web fetch as a cheap first try. Documented: no JS rendering, only URLs already in the conversation.Firecrawl: Claude web fetch vs Firecrawl ↗Set up in Frankensurf →
    GPT
    ManagedWeb search and native computer use, 93.0% on Online-Mind2Web. Search is Responses API only.Browser Use: Online-Mind2Web results ↗Set up in Frankensurf →
    Gemini
    ManagedURL context for static pages. Capped at 20 URLs and 34 MB per page.Google: Gemini URL context ↗Set up in Frankensurf →
    Open-weight
    Open standardAny OpenAI-compatible endpoint. No native browsing, so Frankensurf supplies all of it.AgentsCamp: browser agents compared ↗Set up in Frankensurf →

    Fetch + extract

    Markdown for Agents
    Open standardAccept: text/markdown, about 80% fewer tokens where sites opt in.Cloudflare: Markdown for Agents ↗Set up in Frankensurf →
    Jina Reader
    ManagedInstant reads of cooperative pages.fastCRW: LLM-ready web data APIs ↗Set up in Frankensurf →
    Firecrawl
    ManagedCrawl, map and schema extraction in one call.fastCRW: LLM-ready web data APIs ↗Set up in Frankensurf →
    Crawl4AI
    Open sourceApache-2.0 self-hosted extraction, 59.95% truth recall.fastCRW: LLM-ready web data APIs ↗Set up in Frankensurf →
    fastCRW
    ManagedChallenger: 63.74% recall on 819 labelled URLs.fastCRW: LLM-ready web data APIs ↗Set up in Frankensurf →

    Browser runtimes

    Kernel
    Open sourceApache-2.0, sub-150 ms cold starts, #1 ComputeSDK throughput.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    Steel
    Open sourceSelf-host or managed on one codebase.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    Anchor
    ManagedManaged auth and a hardened Chromium fork.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    Browserbase
    ManagedSession replay, logs, mature managed platform.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    Hyperbrowser
    Browser Run

    Search

    Parallel
    Managed91% SimpleQA, 348 ms mean, 74% BrowseComp.Parallel: 6 search APIs benchmarked ↗Set up in Frankensurf →
    Exa
    ManagedLeads hit@5 at 80.9% in one verified benchmark.Openbenchmarks: web search APIs ↗Set up in Frankensurf →
    Brave
    ManagedIndependent index, 669 ms in AIMultiple's test.AIMultiple: agentic search benchmark ↗Set up in Frankensurf →
    Tavily
    ManagedAnswer synthesis as a fallback route.Openbenchmarks: web search APIs ↗Set up in Frankensurf →

    Control + agent loop

    Playwright
    Open sourceDeterministic workhorse for known flows.Digital Applied: Playwright vs Stagehand ↗Set up in Frankensurf →
    Stagehand
    Open sourcePairs with Frankensurf: act, extract and observe for pages an agent must click through. Not a fetch provider.Digital Applied: Playwright vs Stagehand ↗
    Skyvern
    Open sourceVision-based forms with no selectors.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    DevTools MCP
    Open sourcePairs with Frankensurf: an agent drives Chrome directly, about 10x fewer tokens than snapshots. Not a fetch provider.ego.app: DevTools MCP vs Playwright MCP ↗
    Browser Use
    Open sourceAutonomous loop, 97% Online-Mind2Web.Browser Use: Online-Mind2Web results ↗Set up in Frankensurf →

    Stealth

    Camoufox
    Open sourceFirefox fork, C++-level fingerprint spoofing.GitHub: camofox-browser ↗Set up in Frankensurf →
    Patchright
    Open sourcePatched Playwright on system Chrome.DEV: anti-detect browser benchmark 2026 ↗Set up in Frankensurf →
    nodriver
    Open sourceCDP-direct, 0 of 31 Cloudflare targets blocked in one test. AGPL-3.0.DEV: anti-detect browser benchmark 2026 ↗Set up in Frankensurf →

    Unblockers

    Bright Data
    Managed97.9% on complex sites, 100% on PerimeterX.AIMultiple: web unblockers ↗Set up in Frankensurf →
    ZenRows
    Managed99% in its own test. Results swing by corpus.ZenRows: scraping APIs benchmarked ↗Set up in Frankensurf →
    Zyte
    ManagedBrowser rendering behind Zyte's anti-ban network.Zyte API docs ↗Set up in Frankensurf →
    Scrapfly
    Managed92.6% DataDome, 90.7% Cloudflare, vendor-run.AIMultiple: web unblockers ↗Set up in Frankensurf →
    Apify
    ManagedThe RAG Web Browser actor: one page as HTML or markdown, no per-site scrapers.Apify: RAG Web Browser ↗Set up in Frankensurf →

    Identity

    Web Bot Auth
    Open standardEvery plain request signed, verified by Cloudflare, AWS, Akamai and Vercel. Checked against Cloudflare's verifier.Cloudflare: signed agents ↗Set up in Frankensurf →
    Saved sessions
    ManagedYour own signed-in Chrome, registered once. Agents read as you, never seeing a password or cookie. Other tools stay logged out.Kernel: 9 best browsers for AI agents ↗Set up in Frankensurf →
    Human handoff
    Open sourceSends CAPTCHAs, 2FA and sign-ins to you, then resumes in the same tab.Frankensurf docs: human handoff ↗Set up in Frankensurf →

    Half the dead ends.

    Measured 6 October 2026 on 152 sites picked before any was read: every tool alone, then Frankensurf, one run, the same content checks. Frankensurf read 19 sites Firecrawl missed; Firecrawl read 5 it missed. The trade is time: a median 9.5 s against 5.6 s.

    89.5%of 152 fresh sites read rightFirecrawl Only 80.3%
    −47%dead ends vs Firecrawl Only16 vs 30 of 152 sites
    ⅕the cost of Firecrawl Only$0.73 vs $4.33 per 1k pages
    93%of sites any tool could readFirecrawl Only 84%
    All 152 sites
    19.7%
    10.5%
    −9.2 pts
    US retail (33)
    15.2%
    3.0%
    −12.2 pts
    UK and EU retail (24)
    20.8%
    12.5%
    −8.3 pts
    Australian retail (18)
    33.3%
    22.2%
    −11.1 pts
    News (16)
    25.0%
    18.8%
    −6.2 pts
    Classifieds (10)
    10.0%
    0.0%
    −10.0 pts
    Developer sites (9)
    0.0%
    0.0%
    even
    Jobs (8)
    25.0%
    12.5%
    −12.5 pts
    Government (8)
    0.0%
    12.5%
    +12.5 pts
    Cars, property, travel, media, food (26)
    26.9%
    11.5%
    −15.4 pts

    Stronger stitched.

    Measured 6 October 2026. Frankensurf against each of its own providers used on its own, on the same 152 sites picked before any was read, in one run.

    89.5%Frankensurf
    80.3%Firecrawl Only

    of 152 fresh sites read right

    Of sites any tool could read
    93.2% vs 83.6%
    Cost per 1,000 pages read
    $0.73 vs $4.33

    A better tool ships. We bolt it on.

    6 Oct 2026

    Kernel, Anchor, Zyte, Apify, fastCRW, Tavily, Parallel, Patchright and nodriver bolted on

    Patchright, nodriver and self-hosted fastCRW read live pages; the rest are tested against their published APIs

    +9
    6 Oct 2026

    A rendered second opinion catches pages whose results never loaded

    Free tools only, on held-out sites: 34.8% → 47.8% of pages read right

    +13 pts
    5 Oct 2026

    Challenge, sign-in and empty pages stop counting as success

    Site benchmark from 77 to 82 of 82 pages read right, with no false successes

    82/82

    Ride the whole web.

    Open source.

    View on GitHub
    $git clone https://github.com/yail259/frankensurf.git