Compare

Build it yourself with Playwright, or use an API?

Running your own headless browser is the right call more often than vendors admit. Here's what it costs, what breaks, and when a fetch API (ours or anyone's) is worth paying for.

Checked against official docs and pricing pages on 2026-11-02. Sources at the bottom. Spotted something out of date? Email hello@fetchrouter.dev and we'll fix it.

Use DIY Playwright + proxies when

  • You fetch a few domains you know, at high volume, and they don't fight you (docs, partner sites, your own pages). A plain HTTP client plus occasional Playwright costs mostly compute.
  • You need logins, cookies, multi-step flows or full control of the browser.
  • Data mustn't leave your network, or you need a specific region or IP.
  • You already run browser infrastructure.

Use Fetch Router when

  • Your agent fetches a long tail of sites you didn't choose.
  • Volume is low or spiky, so an always-on browser fleet and proxy minimums would sit idle.
  • You don't want to own block-page detection, retries and fallbacks.
  • Some targets need a browser and some don't, and you'd rather not decide per URL.

Side by side

Fetch RouterDIY Playwright + proxies
MemoryNone on your sideAbout 150 MB idle, plus 150–650 MB per open page (our measurement: example.com +146 MB, zillow.com +647 MB)
Residential proxiesNot needed for most pages; unblocking routes comingAbout $2–8 per GB (Bright Data, Oxylabs, Decodo list prices); a median page is about 2.6–2.9 MB, so $6–11 per 1,000 full loads
Block detectionBuilt in, with vendor signatures and text checksYou write it. Status codes aren't enough: Crunchbase served a challenge page with HTTP 200
StealthNot our approach: we route, detect and reportPlugins are stale or self-described as proof-of-concept, and don't change TLS fingerprints (JA3/JA4) that Cloudflare uses
UpgradesOurs to doChromium and Playwright releases, user agents, signature lists
Cost per 1,000 pages$1 static, $5 browser, failures freeCompute only for friendly sites (often well under $1); proxy bandwidth adds $6–11 for protected ones
Logins and multi-step flowsNoYes

Cost

For friendly sites at volume, DIY is cheapest: one machine with a few GB of RAM handles a lot of plain HTTP fetches and a handful of concurrent browser pages. The costs show up elsewhere: memory spikes on heavy pages, proxy bandwidth once you hit protected sites, and the time to build and maintain block detection, retries and fallbacks.

A fetch API makes sense when that maintenance costs more than the per-page fee. Usually that's long-tail, agent-chosen URLs and low or bursty volume.

FAQ

How much memory does headless Chromium need?

Neither Playwright nor Chrome publishes a number. In our test an idle browser used about 150 MB, and each open page added 150–650 MB depending on the site.

Do stealth plugins get past Cloudflare or DataDome?

Rarely, for long. playwright_stealth's README says not to expect it to bypass 'anything but the simplest' detection, and the main puppeteer stealth plugin hasn't had a release since April 2023. Detection also happens at the TLS layer, which these plugins don't change.

What do residential proxies cost?

Public list prices run from about $2 to $8 per GB (Bright Data, Oxylabs, Decodo, November 2026). At a median page weight of about 2.7 MB, that's roughly $6–11 per 1,000 full page loads, less if you block images and media.

When should I not use Fetch Router?

When you only fetch a couple of friendly sites, need logins, or need data to stay in your network. A plain fetch or your own Playwright script is cheaper there.

Sources

How our routes perform: benchmark with method and CSV. Other comparisons: Fetch Router vs Firecrawl · Fetch Router vs Jina Reader.