Headless Browsers for AI Agents: Pick One Per Layer
Roundups rank engines, drivers, hosting and agent frameworks in one list, so the advice collapses. Here's the layer map, the licences, and how to choose.
The short version
You're not picking a headless browser. You're picking four things, and most comparisons hide that by ranking them in one list.
An AI agent that uses the web needs a rendering engine, something to drive that engine, somewhere to run it, and something to decide what to click. Those are four separate purchases. Chrome, driven by Playwright, hosted on Cloudflare Browser Run, with your own code deciding the steps, is a perfectly normal answer. So is Lightpanda driven by Puppeteer on your own box with Browser Use on top. What you cannot do is compare Lightpanda against Browser Use, because one is an engine and the other is a framework that needs an engine underneath it.
The two roundups currently ranking for this query do exactly that. One puts Playwright, Puppeteer, Browserbase and Bright Data in a single ranked list. The other mixes Perplexity Comet and ChatGPT Atlas, which are consumer chat browsers, with Browserbase and Skyvern, which are developer infrastructure. Both were written by a company selling something on its own list, and neither says so. Bright Data puts Bright Data at number one.
How we checked this
Every number below came from the project's own repository or documentation on August 3, 2026, not from another roundup. Where a figure is commonly repeated but we couldn't verify it at the source, we say so instead of passing it along.
We sell consulting. We don't sell browsers, proxies, hosting or scraping infrastructure, and we take nothing from anyone listed here. That's the only reason this list can be ordered by what fits rather than by who's paying.
The four layers
| Layer | What it does | Options |
|---|---|---|
| 1. Engine | Renders the page and runs its JavaScript | Chrome/Chromium, Firefox, WebKit, Lightpanda |
| 2. Driver | How your code tells the engine what to do | CDP, Playwright, Puppeteer, Vercel agent-browser |
| 3. Platform | Where the browsers actually run and who babysits them | Cloudflare Browser Run, Browserbase, Browserless, Steel, your own servers |
| 4. Agent framework | Decides what to click when you don't know in advance | Browser Use, Stagehand, Skyvern |
Read it top to bottom and most of the confusion goes away. You always need layers 1 and 2. Layer 3 is a question of whether you want to run browser fleets yourself. Layer 4 is optional, and skipping it is often the right call.
Layer 1: the engine
Chrome and Chromium are the default, and the default is fine. Everything targets them, every site is tested against them, and every anti-bot vendor has to be careful about blocking them because real people use them.
Lightpanda is the interesting alternative, and it's genuinely different: written in Zig, not built on Chromium or Blink or WebKit, using V8 only for JavaScript. It throws away the rendering work an agent never looks at. Its repository reported 100 pages in 5 seconds against 46 seconds for Chrome headless, with peak memory of 123MB against 2GB. That's roughly 9x on speed and 16x on memory.
Worth flagging, because we got this wrong ourselves: our March note on Lightpanda quoted 11x speed and 9x memory, which were the figures at the time. The project's current numbers are the ones above. If you read the 11x claim somewhere, it's stale.
Two things to know before you switch. It's AGPL-3.0, which is a real constraint for commercial work and covered below. And its own repository calls it Beta with incomplete Web API coverage. "Drop-in replacement" is true of the wiring, not of the behaviour. Point it at the sites you actually scrape before you plan around the savings.
Layer 2: the driver
Playwright drives Chromium, Firefox and WebKit, is Apache-2.0, and now ships an MCP server and a CLI aimed specifically at coding agents. If you have no strong reason to pick something else, pick this.
Puppeteer drives Chrome and now Firefox too, sits slightly closer to the metal, and is also Apache-2.0. Fine and well understood, with a smaller surface than Playwright.
Vercel's agent-browser is the one worth a second look if you're paying per token. It's a Rust CLI and daemon that speaks CDP directly, with no Playwright or Node needed for the daemon at all. The useful part is what it hands back: an accessibility-tree snapshot with stable references like @e1 and @e2, rather than a screenshot or a wall of HTML. Your model reads a short structured list of the things it can actually interact with. On a long agent run that difference shows up on the invoice.
We wrote about Microsoft's Webwright in May, which attacks the same problem from the other side: record what worked once, replay it as a script, stop paying a model to rediscover the same three clicks.
Layer 3: where it runs
Running one browser is easy. Running two hundred, with crash recovery, memory limits, proxy rotation and session state, is a job. This layer is about whether you want that job.
Cloudflare Browser Run (renamed from Browser Rendering) is the cheapest honest starting point. The free tier when we checked: 3 concurrent browsers, one new browser every 20 seconds, 10 minutes of browser time per day, 5 crawl jobs, 100 pages per crawl. Paid goes to 120 concurrent and one new browser per second. Sessions idle out at 60 seconds unless you extend to 10 minutes with keep_alive. Those limits are tight enough that you should check them against your workload before building on it, and generous enough to prove out an idea for nothing.
Steel is the one to look at if you want the managed feature set without the lock-in. Apache-2.0, self-hostable with Docker, built on Chrome with Puppeteer and CDP, and you connect to it from Puppeteer, Playwright or Selenium. It adds the things you'd otherwise build: session state across requests, proxy rotation, stealth plugins, extension loading, and conversion to markdown or PDF.
Browserless does much the same and has been around longer, but read the licence first. It's SSPL-1.0 or commercial, and the repository is direct about it: closed-source commercial use, or a closed-source CI system, means buying a licence.
Browserbase is the commercial cloud most agent tooling assumes by default, largely because it also publishes Stagehand.
Layer 4: the agent framework
Only add this layer if you need it, and you need it less often than the marketing suggests. If you know the steps in advance, write the steps. A driver executing a known sequence is faster, cheaper and far more predictable than a model working it out on every run.
Browser Use is the biggest of these by a distance: MIT, 107.7k stars, Python, and it drives a browser rather than being one. Its repository claims first place on the Odysseys leaderboard at 87.4% across 200 long-horizon web tasks. You'll also see a 89.1% WebVoyager figure quoted around the web. We couldn't find it on the current repository, so treat it as unverified.
Stagehand comes from Browserbase, is MIT, and splits the work sensibly: act() for a single step, agent() for multi-step, extract() for structured data, observe() for reading state. The pitch is that you use natural language only where the page is unpredictable and normal code everywhere else, which matches how these projects actually go.
The part nobody mentions: licences
This field contains four different licences with genuinely different consequences, and neither ranking roundup mentions licensing at all.
| Tool | Licence | What it means for commercial use |
|---|---|---|
| Playwright | Apache-2.0 | Use freely |
| Puppeteer | Apache-2.0 | Use freely |
| Vercel agent-browser | Apache-2.0 | Use freely |
| Steel | Apache-2.0 | Use freely, including self-hosted |
| Browser Use | MIT | Use freely |
| Stagehand | MIT | Use freely |
| Lightpanda | AGPL-3.0 | Strong copyleft. Expect legal review before it goes near a networked product |
| Browserless | SSPL-1.0 or commercial | Closed-source commercial or CI use requires a purchased licence |
If you're a small team shipping a closed-source product, that table probably decides more than any benchmark on this page. The two fastest routes to a licensing conversation are also the two most likely to be recommended to you on cost grounds.
How to choose
Four questions, in this order.
Do you know the steps in advance? If yes, skip layer 4 entirely. Playwright plus your own code. Most "agent" browser projects are really scheduled automation with a model bolted on for no reason.
Is your bill dominated by tokens or by servers? Tokens point at layer 2: something that returns an accessibility tree instead of screenshots, like Vercel's agent-browser. Servers point at layer 1: Lightpanda's memory profile is the single biggest lever available, if your targets work under it.
Does the site want you there? Your own app, or a partner's API, means you can ignore the stealth question. Sites actively defending against automation are a different project, and closer to CloakBrowser territory than to anything on this page. Check what you're allowed to do before you check what you're able to do.
Do agents need to share a logged-in session? This gets underestimated and breaks things late. One set of credentials with several agents working in parallel needs isolation, or they'll trample each other's state. ego-lite exists specifically for that, and layer 3 platforms with session persistence handle a gentler version of it.
Where we're coming from
We've been writing up this landscape as it moved, and the dates are checkable: Scrapling in February, OpenSandbox and Lightpanda in March, CloakBrowser and Webwright in May, ego-lite in July.
If you're picking this stack for something commercial and would rather talk it through than read another list, that's what we do.
Words worth knowing
Headless browser – a browser with no window. It loads pages and runs their JavaScript exactly like Chrome does, just invisibly, for automated work.
CDP (Chrome DevTools Protocol) – the low-level language for telling a browser what to do. Playwright, Puppeteer and most of the tools here are wrappers around it.
Accessibility tree – the structured description of a page that screen readers use. It lists the things you can actually interact with, which makes it much cheaper to send to a model than a screenshot or raw HTML.
AGPL-3.0 – an open-source licence that can require you to publish your own source code if you offer the software over a network. Free to use, not free of obligations.
SSPL-1.0 – a licence written to stop cloud providers reselling a product as a service. In practice it pushes most closed-source commercial users toward a paid licence.
Concurrency limit – how many browsers you're allowed to run at once. The number that decides whether a platform fits, and the one people check last.
Frequently asked
What is the best headless browser for AI agents?
There isn't one, because the tools sold under that name sit at four different layers. You need a rendering engine, a way to drive it, somewhere to run it, and something to decide what to click. Chrome driven by Playwright on Cloudflare Browser Run covers a normal case. Swap the engine for Lightpanda if you are cost-bound, or the driver for Vercel's agent-browser if you are token-bound.
Is Lightpanda a drop-in replacement for Chrome headless?
Partly. It exposes a CDP server and connects from Puppeteer or Playwright through browserWSEndpoint, so the wiring is familiar. But it is not built on Chromium, it is written in Zig with V8 for JavaScript, and its own repository describes it as Beta with incomplete Web API coverage. Test your actual target sites before committing.
How fast is Lightpanda compared to Chrome headless?
Its repository reported roughly 9x faster and about 16x less memory when we checked on August 3, 2026: 100 pages in 5 seconds against 46 seconds, with peak memory of 123MB against 2GB. Older write-ups still quote 11x speed and 9x memory, which the project's current figures supersede.
Which headless browser licences restrict commercial use?
Two of the common options. Lightpanda is AGPL-3.0, a strong copyleft that many companies will not accept for a networked service without legal review. Browserless is dual-licensed under SSPL-1.0 or a commercial licence, and its repository states plainly that closed-source commercial or CI use requires buying one. Steel, Playwright, Puppeteer and Vercel's agent-browser are Apache-2.0, and Browser Use and Stagehand are MIT.
Do I need an agent framework like Browser Use, or just Playwright?
If you know the steps in advance, a driver is enough and it will be faster, cheaper and more predictable. An agent framework earns its place when the steps are not known in advance and the page layout changes between runs. Frameworks sit on top of a driver rather than replacing it, so this is not really an either-or.
What does Cloudflare Browser Run cost to start?
There is a free tier, capped when we checked at 3 concurrent browsers, one new browser every 20 seconds, and 10 minutes of browser time per day. Paid moves to 120 concurrent browsers and one new browser per second. Sessions idle out after 60 seconds by default, extendable to 10 minutes with keep_alive.
Already have customers but growth is stuck? Tell us what is slowing it down.
Start the five questions