low-latency serverless browser rendering providers compared
Co-location between agent and browser matters more than speed benchmarks suggest.

Choosing a browser rendering provider for AI agents or scraping infrastructure has quietly become an architecture decision. Three variables decide how fast a session actually runs: how the provider handles cold starts, where its browser fleet physically sits, and how close the agent's own compute lives to the browser it's controlling. Most pricing pages skip all three, so teams pick on brand name or sticker price, then find out in production that sessions crawl for reasons the docs never mentioned. Worth saying plainly, and worth defending through the rest of this piece: for a real multi-step agent loop, co-location beats stealth score every time, and most teams shopping this market are optimizing for the wrong column entirely.
The three architectural variables that actually determine session latency
Start with cold starts, since this is the one that shows up first and hurts most. A browser session that spins up a fresh Chromium process on every request pays a fixed tax before a single page even loads: launching the process, initializing the rendering engine, opening a Chrome DevTools Protocol (CDP) connection. All of that happens before navigation, before extraction, before anything the agent actually cares about. Warm pool architectures keep a set of browser instances alive and idle, ready to hand off the moment a request lands. The question worth asking any provider is blunt: does it pre-warm browsers, and can it say what that saves in milliseconds, not marketing copy?
Geography is the second variable, and it's easy to underrate until an agent workload starts opening hundreds of short sessions a minute. A fleet parked in one region, or a handful of datacenters, adds round-trip time for any caller or target site that isn't nearby. For agent loops that create a session, navigate, extract, and tear down, over and over, that per-session overhead doesn't stay small; it compounds with every cycle. Providers running a fleet spread across many regions can place the session near the target site and near the calling agent at the same time. A single central cluster can't do that no matter how big it gets.
The third variable gets ignored more than it should: how far apart the agent's own logic sits from the browser session it's driving. When an agent runs on one service and the browser runs on another, every CDP command, every click, every DOM query crosses a network hop. That cost repeats on every interaction, across a session that might run dozens of steps deep; a cold start, by contrast, gets paid once. Architectures that put agent compute and the browser on the same box, either by running both on one platform or through tight binding-level integration, remove that hop structurally instead of trying to optimize around it. For scraping jobs against pages that already take several seconds to load, this overhead barely registers. CI pipelines and tight agent loops making many fast decisions feel it add up fast, and that's the split worth remembering going forward.
One more factor worth naming, secondary but related: session persistence. Reusing a live session across multiple agent steps, through something like Durable Objects or an equivalent state mechanism, means an agent pays the cold-start cost once per task instead of once per step. That distinction matters more the longer and more multi-step the workflow gets.
How the benchmarks available today should and should not be read
ComputeSDK runs the most widely cited independent benchmark in this space, measuring multiple distinct stages across many iterations per provider per run. That granularity is the point: a provider can be fast at one stage and slow at another, and a single blended average buries exactly the difference that matters.
The numbers show real spread in connection and navigation latency. Published figures show real spread in connection latency across providers, with some clustering near the front of the pack and Browserbase landing somewhere in the middle. Some providers post connection times several times higher than the leaders, and that gap matters a lot if the workload opens many short sessions instead of a few long-running ones.
But how much should any of this actually guide a purchase? Less than the leaderboard format suggests. Most of these tests run from a single point of origin, so they say close to nothing about geographic variance. They generally don't separate warm-pool conditions from cold-start conditions, nor do they test what happens once concurrency climbs. A provider that looks fast at one request per second can behave very differently at fifty. Cloud browser APIs also add latency compared to a headless browser running locally, plain and simple. For scraping work where the page itself takes several seconds to load, that delta barely registers; for testing pipelines chasing sub-100-millisecond response times, local execution can still win outright.
Stealth is a separate axis entirely, and treating it as a proxy for speed is a mistake worth correcting directly. A provider can be fast and easy to detect, or slow and very good at evading detection; the two properties don't move together at all. In the Browser Use Cloud stealth benchmark, Anchor led with a 77% bypass rate, and Onkernel wasn't far behind at 67%. Steel came in at 47% and Browserbase at 42%, well behind the leading tier. None of the fastest providers on connection latency show up at the top of that stealth list either. Speed and stealth get engineered separately, and strength on one axis says nothing about the other. That's the whole lesson, and it's worth sitting with before picking a provider off a single chart.
Use these benchmarks to narrow the field to a handful of realistic candidates, then test under actual traffic and concurrency before committing to anything. A leaderboard number can't substitute for that, and treating it like one is how teams end up surprised in production.
Browserless: the infrastructure-first option and what it trades away
Browserless has run in production for eight years, with more than 173 million Docker pulls and over 12,000 GitHub stars, numbers that make it something close to the default reference point for self-hosted browser infrastructure. It runs Chrome or Chromium inside Docker containers, exposes Puppeteer and Playwright APIs, and offers REST endpoints for screenshots, PDF generation, and scraping. Enterprise teams can run the whole thing on their own infrastructure if they want, a real point of difference from the fully managed players.
On the benchmark side, Browserless posts competitive latency numbers in available benchmarks, a solid showing for a service that's been around this long without a ground-up rewrite.
What it doesn't solve is worth saying plainly: fingerprinting, proxy rotation, and multi-account isolation aren't built in. Teams that need stealth or agent-identity management have to build those layers themselves on top, and that's real engineering work the platform doesn't hand you for free.
Pricing runs on a unit basis, where each unit represents a defined increment of browser connection time. Paid plans begin at the Prototyping tier. Prototyping runs $25 a month for 20,000 units and 15 concurrent sessions. Starter is $140 a month for 180,000 units and 40 concurrent sessions. Scale runs $350 a month for 500,000 units and 100 concurrent sessions. Enterprise customers can reach out for custom arrangements.
Browserless fits teams that want self-hosting control, already run Docker in production, or just prefer open infrastructure over a fully managed black box. It's a weaker fit for teams chasing built-in geographic spread or agent-identity features out of the box, since neither comes standard here.
Browserbase: built for AI agents, at the cost of predictable pricing and vendor independence
Browserbase positions itself explicitly as cloud-native and agent-first: session management, real-time debugging, automatic CAPTCHA solving, and a stealth mode, aimed squarely at the current wave of AI product teams. Its adoption among AI product teams signals real product-market fit in the agent-infrastructure segment.
On stealth, Browserbase posted a 42% bypass rate in the Browser Use Cloud benchmark, mid-pack and well behind Anchor's 77% and Onkernel's 67%. Teams with heavy anti-bot exposure on their target sites should weigh that gap seriously before signing on.
Pricing runs on wall-clock session time plus parallel session count. The free tier allows 3 concurrent sessions with a 15-minute session cap. Developer runs $20 a month for 25 concurrent sessions, a 6-hour cap, and 1 GB of proxy bandwidth, with overage at $12 per GB. Startup is $99 a month for 100 concurrent sessions, the same 6-hour cap, and 5 GB of bandwidth at $10 per GB overage. Scale is custom-priced for 250 or more concurrent sessions.
That's a lot of separate billing dimensions: browser hours, proxy bandwidth, Search API calls, Fetch API calls, each metered on its own, which makes forecasting cost harder than it is with Browserless's unit-based model. There's a lock-in question worth naming directly too. Browserbase pushes Stagehand, an AI automation layer built on top of Playwright. It's well-built, but code written against it couples tightly to one vendor, and there's no self-hosting path if a team ever wants out.
Browserbase fits teams already inside the AI product ecosystem who want managed stealth and session tooling and can live with multi-dimensional billing. It's a harder fit for anyone who needs cost predictability or the option to self-host down the line, and that trade should get named before signing, not discovered three months into a contract.
Steel and Kernel: the open-source and security-first alternatives gaining ground with agent teams
Steel takes an open-source, agent-focused approach: a browser API with session management and basic anti-detection through stealth plugins. Its stealth benchmark score, 47%, edges out Browserbase but still sits well below the leading tier. Pricing starts with a Launch tier that carries no subscription fee at all: 10 concurrent browsers, a 15-minute session max, a $30 one-time credit valid for 90 days, and browser time billed at $0.10 an hour. The Scale tier runs $250 a month plus usage, including a $100 monthly credit, 100 concurrent browsers, and a lower $0.08 hourly rate. One limitation worth checking before committing: multi-account orchestration is not a stated feature of the out-of-the-box offering.
Kernel, built by Onkernel, takes a different approach. It's a serverless app platform that co-locates agent compute with the browser session itself, which directly removes the round-trip latency that shows up when agent logic and browser infrastructure live on separate services, the third variable from earlier in this piece. Kernel advertises sub-30-millisecond cold starts, among the lowest published figures in this space. It runs in production across more than 7,000 teams, a breadth that suggests meaningful adoption among a range of buyers.
On stealth, Kernel posted a 67% bypass rate in the Browser Use Cloud benchmark, ahead of both Browserbase and Steel. There's a governance angle worth noting too: Kernel takes a posture of transparent bot identification rather than disguising agents to slip past detection. That's a meaningfully different posture for enterprise buyers thinking about compliance, not just about clearing a CAPTCHA.
Kernel is the strongest case in this piece that co-location solves compliance and latency at the same time, a rarer combination than the market seems to think. Most providers pick one problem to solve well and leave the other for the customer to patch.
What edge-native browser infrastructure changes about the latency equation
Every provider discussed so far runs its browser fleet out of a fixed set of cloud regions. That means the session sits some distance from the calling agent, the target site, or both, and the provider is really choosing which of those two distances to shrink. Neither Browserless nor Browserbase nor Steel escapes that trade; they just make it differently, and that's the ceiling on all three, no matter how good the engineering underneath gets.
Edge-native architecture takes a different approach: it runs the browser instance at whichever network node sits closest to the request's origin. Done well, this handles the cold-start problem and the geography problem at the same time, instead of solving one and hoping the other doesn't matter too much. Keeping pre-warmed browser instances spread across hundreds of locations means session acquisition latency stops scaling with distance to some central datacenter. It becomes a function of how close the nearest edge node is, which for most users is not very far at all.
The binding model matters here too. When agent compute, a Worker, say, and the browser session run on the same platform, CDP commands never leave that platform's internal network. There's no public hop to cross, which structurally cuts the per-interaction overhead that otherwise piles up across a multi-step agent loop.
Worth naming plainly: a provider that cryptographically identifies its browsers as bots is taking a different posture than one that routes traffic through stealth layers built to dodge detection. That distinction matters practically for any team hitting sites that publish explicit bot policies, and it's worth naming before picking a provider. Session persistence at the edge closes the loop: keeping a session alive across agent steps through Durable Objects or an equivalent primitive means a multi-turn agent pays the cold-start cost once per task, not once per turn.
Browser Run and the edge-integrated model: what it offers and where it fits
Cloudflare's Browser Run offers two integration paths, and which one a team picks depends heavily on the shape of the workload. Quick Actions is a stateless REST API, no code deployment required, covering screenshots, PDF generation, and AI-driven structured data extraction. It suits one-shot tasks where paying a cold-start cost on each individual request is fine. Browser Sessions, meanwhile, works through Workers Bindings: direct control via Puppeteer or Playwright, deployed inside a Worker itself, so agent logic and browser session run on the same platform. That removes the inter-service network hop entirely, the exact overhead the third architectural variable describes.
Session acquisition works through a warm pool kept at each datacenter. When a Worker requests a browser, one is handed back and connected over WebSocket rather than spinning up a fresh process from scratch. Durable Objects can keep that session alive across agent turns, so a multi-step workflow pays the cold-start cost once instead of on every single step.
On bot identity, Browser Run signs its browsers with cryptographic signatures, so agents are legible to sites as bots rather than dressed up to pass as human traffic. That posture lines up with where AI agent governance frameworks appear to be heading, even if it costs some flexibility against sites running aggressive anti-bot detection.
A platform like Cloudflare, running serverless compute across a network of more than 330 data centers, can bind browser sessions and agent logic to the same infrastructure and cut round-trip latency by a wide margin. This fits teams already building on Workers, or any team that wants agent compute and browser sessions living on one globally distributed platform, particularly for multi-step agent workflows where per-command latency and geographic spread both matter. It's a weaker fit for teams whose main need is bypassing aggressive anti-bot systems: stealth bypass rate isn't the angle here, and teams built around that requirement should look at providers like Anchor or Browser Use Cloud, which publish higher bypass scores and are built around that specific problem.
Matching provider architecture to the workload that actually needs to run
"Which provider is best" is the wrong question to lead with. The three latency variables interact differently depending on what the workload actually looks like, and the right match depends on which variable dominates. Most teams never stop to ask that before signing a contract, and that's the mistake underneath most of the disappointing production numbers this piece has touched on.
For high-volume scraping made of many short sessions, connection latency per session is the cost that matters most, and warm-pool depth plus geographic footprint carry the most weight. Providers with the lowest published connection times, hold the structural edge here.
Multi-step AI agent loops feel a different pressure: it's the per-command latency across a long session that compounds, exactly what co-location architectures like Kernel's platform or the Workers Bindings model are built to solve. Session persistence across turns ends up mattering as much as raw cold-start speed, sometimes more than it.
CI and testing pipelines care about a different set of things entirely: reproducibility, headroom under concurrency, and session recording tend to outweigh geographic spread, which is where Browserless's self-hosted option and Browserbase's debugging tooling do real work.
Enterprise or compliance-sensitive workloads narrow the field fast around bot identity transparency, audit trails, and formal compliance certification, Kernel's compliance posture, or transparent bot identification, rather than around raw speed at all. The fastest provider on a benchmark chart isn't automatically the right one for every workload. The right one is whichever architecture matches the shape of the traffic actually running through it, and that's a question no leaderboard answers on its own.


