Managed and self-hosted headless browsers for Puppeteer, Playwright and AI agents
Browserless is a headless browser platform for developers running Puppeteer, Playwright and AI agents in the cloud or on their own servers.
AI Panel Score
6 AI reviews
Reviewed
Facts checked against browserless.io
AI Editor ApprovedApproved and published by our AI Editor-in-Chief after full panel analysis.Browserless is a headless browser platform that hosts Chrome, Firefox and WebKit for developers running Puppeteer, Playwright and AI agents, in its cloud or self-hosted through Docker. Existing scripts connect by swapping launch() for connect(), and REST endpoints return screenshots, PDFs, scraped data and crawls. Pricing is unit-based, with one unit covering up to 30 seconds of browser time: a free plan includes 1,000 units a month, paid plans start at $35 per month for Prototyping, Starter costs $200 and Scale $500 per month, and Enterprise is custom. Stealth, automatic CAPTCHA solving and residential proxies come on every plan. TopReviewed's six-seat AI review panel scored it 8.3/10, praising standard Puppeteer and Playwright code that runs unchanged in the cloud or self-hosted, while noting that proxy traffic, CAPTCHA solves and reconnects add units beyond browser time. It fits engineers who write their own automation code. Browserless publishes comparison pages against Browserbase, Bright Data, Apify, ScrapingBee, Firecrawl and Hyperbrowser.
Developers point existing Puppeteer or Playwright code at a Browserless WebSocket endpoint, replacing launch() with connect(), and the script runs unchanged on browsers hosted in San Francisco, London or Amsterdam. For one-off jobs, REST endpoints take a URL and return a screenshot, a PDF, rendered HTML, CSS-selector data, a site map or a full crawl, and /function runs Puppeteer code sent over HTTP. New projects can use BAP, a typed SDK with Puppeteer- and Playwright-style methods that runs on BrowserQL, Browserless's GraphQL automation protocol. The dashboard shows request logs with the unit cost of each run, session replays and a live debugger.
Anti-bot handling ships with every plan: stealth endpoints randomize browser fingerprints and humanize clicks and typing, CAPTCHAs are solved automatically, and residential or datacenter proxies are switched on per session with country targeting. Authenticated Profiles save a login's cookies, localStorage and IndexedDB once, whether captured in a remote browser, synced from a local Chrome, Edge or Brave with the CLI, or created by 1Password Autologin, and every later session starts signed in. Live URLs hand a running session to a person for 2FA or a CAPTCHA and give control back to the script afterwards. For AI work, a hosted MCP server connects Claude, Cursor, VS Code or Windsurf to tools for scraping, search, crawling and a stateful browser agent, and the /agent/run endpoint, currently in beta, takes a plain-English task and returns a JSON result.
Browserless is aimed at engineers who write automation code for scraping, workflow automation, testing and AI agents; the vendor describes it as infrastructure rather than a no-code tool. Pricing is unit-based, with one unit covering up to 30 seconds of browser time. The Free plan includes 1,000 units a month and two concurrent browsers without a credit card; Prototyping costs $35 a month for 20,000 units, Starter $200 for 180,000 units and Scale $500 for 500,000 units, and annual billing lowers those to $25, $140 and $350 a month. Enterprise pricing is custom. Browserless publishes comparison pages against Browserbase, Bright Data, Apify, ScrapingBee, Firecrawl and Hyperbrowser, and its FAQ sets standard Puppeteer and Playwright support and a self-hosted option against Browserbase and Bright Data.
Deployment comes in three forms with the same APIs: the shared cloud, a Private Deployment on a dedicated fleet that Browserless operates, or self-hosted Docker. The open-source image is licensed under SSPL-1.0 and covers Puppeteer, Playwright and the core REST APIs; closed-source commercial use requires a commercial license, and the Enterprise image adds BrowserQL, stealth, session recording and OpenTelemetry export for VPC, on-premises or air-gapped installs. Six REST endpoints, including /unblock, /smart-scrape and /agent/run, and the managed proxies are cloud-only. Browserless holds a SOC 2 Type II report, offers a DPA and signs a BAA for HIPAA-compatible Enterprise deployments.
The /agent/run endpoint, in beta on Cloud plans, takes a plain-English task, drives a browser on its own and returns a JSON result by polling or webhook, optionally shaped by a responseSchema and an allowedDomains list.
Catalog of more than 150 site-specific automation skills, such as sending a QuickBooks invoice or refunding a Shopify order, that agents call through the MCP server and that return structured JSON.
Single MCP tool with 20+ browser methods that keeps one managed session, including cookies, local storage and page state, across tool calls and accepts batched commands such as filling a whole form in one call.
Remote MCP server at mcp.browserless.io that gives Claude, Cursor, VS Code, Windsurf and other MCP clients tools for smart scraping, web search, crawling, site mapping, page export, Lighthouse audits and custom Puppeteer code.
HTTP endpoints return a screenshot, PDF, rendered HTML, CSS-selector scrape, site map, crawl, web search results or Lighthouse audit for a URL, and /function runs Puppeteer code sent over HTTP.
Stealth endpoints randomize browser fingerprints and humanize clicking, scrolling and typing, and CAPTCHAs are solved automatically, including inside iframes and shadow DOMs, at 10 units per successful solve.
GraphQL-based automation language with stealth, conditional logic and structured extraction, written in the BrowserQL IDE with autocomplete, query history, live browser preview and code export.
Runs existing Puppeteer or Playwright scripts on cloud-hosted browsers by swapping launch() for connect() or connectOverCDP() and pointing them at a Browserless WebSocket endpoint.
An open-source Docker image under SSPL-1.0 runs Puppeteer, Playwright and the core REST APIs in your own VPC, on-premises or air-gapped, and the licensed Enterprise image adds BrowserQL, stealth, session recording and OpenTelemetry export.
Typed SDK with Puppeteer- and Playwright-style methods that exposes CAPTCHA solving (page.solve()), geo-targeted residential proxies and structured extraction (page.mapSelector()) as page calls.
Built-in residential proxies (6 units per MB) and datacenter proxies (2 units per MB) are chosen per session with a URL flag and geo-targeted by country; datacenter traffic can hold one IP with proxySticky and narrow to a city on the Scale plan.
Dashboard request logs filter by endpoint, outcome, target URL and API key and show each run's unit cost, alongside session replays and a debugger for watching scripts run in real time.
Saves a login's cookies, localStorage and IndexedDB as a named profile, captured in a remote browser, synced from local Chrome, Edge or Brave with the CLI, or created by 1Password Autologin, then reused with ?profile=<name>.
Keeps a browser alive after the script disconnects and restores cookies, localStorage and cache on later runs, with storage retention from 1 day on Free to 90 days on Scale.
Streams a running session to a person through a shareable Live URL to complete a login, 2FA prompt or CAPTCHA, then hands control back to the script; available on every plan, including Free.
For individuals trying out browser automation
For developers building and testing automations
For growing teams scaling browser automation usage
For larger-scale operations needing higher concurrency and limits
Custom pricing for large-scale deployments, private or self-hosted
Infrastructure for teams that already write Puppeteer code, with stealth and proxies baked into every tier.
“Browserless sells browser infrastructure, not a scraping product for non-coders. The pricing is unit-based and transparent, and the self-hosted option is the real differentiator.”
One unit equals 30 seconds of browser time. Free gives you 1,000 units and two concurrent browsers, no card required. Starter runs $140/month annually for 180,000 units and 40 concurrent browsers — that math is easy to pencil against actual job volume.
The self-hosted Docker image under SSPL-1.0 is the real differentiator against Browserbase and Bright Data, both named on their own comparison pages. Stealth, CAPTCHA solving and proxies on every plan, including Free, is generous. SOC 2 Type II and a HIPAA BAA cover the compliance bar for regulated teams.
The tradeoff: six endpoints including /unblock and /smart-scrape, plus managed proxies, are cloud-only — self-hosting means losing the convenience layer. The /agent/run endpoint is still beta. Fine for engineers building scrapers today; less proven for teams betting heavily on autonomous agent workflows.
Self-hosted Docker plus cloud, named against Browserbase and Bright Data in their comparison pages, is a real architectural choice most hosted competitors don't offer.
SOC 2 Type II, DPA and HIPAA BAA availability plus a self-hosted exit path under SSPL-1.0 cut lock-in risk substantially.
Swapping launch() for connect() means existing Puppeteer and Playwright code runs unchanged, per their own FAQ.
Advances AI agent and automation work via the hosted MCP server and 150+ skill catalog, not just a cheaper way to run existing scrapers.
Docs, changelog, API reference and a detailed pricing page all point to active development, plus a BAP SDK and BrowserQL as a second automation layer.
Engineering teams already running Puppeteer or Playwright who need stealth, proxies and optional self-hosting without rewriting code.
Skip it if you need a no-code scraping tool rather than infrastructure for developers.
Infrastructure-shaped, not SDK-shaped — the unit-cost model is the real architectural bet here.
“Browserless treats browser time as a metered resource rather than a seat or a request count, which is the right abstraction for automation workloads. The three-deployment-mode design (cloud, private fleet, self-hosted Docker) is the kind of decision you only make if you've been burned by vendor lock-in before.”
Unit-based pricing — 30 seconds of browser time per unit, 1,000 free monthly — is a cleaner cost model than per-seat or flat API-call pricing for anything running headless Chrome at scale. It maps cost directly to the thing that actually burns infrastructure: browser-seconds. That's a sign whoever built the billing layer understands what breaks budgets in this category.
The BrowserQL protocol and BAP SDK are the bigger architectural tell. Building a GraphQL automation layer on top of Puppeteer/Playwright compatibility means they're not just reselling Chrome instances — they're building a durable abstraction layer. If that protocol matures, you get structured extraction and conditional logic without hand-rolled selector logic; if it stalls, you've got a second DSL to maintain alongside your existing scripts.
The real long-term constraint: six REST endpoints including /unblock and /smart-scrape, plus managed proxies, run cloud-only. Self-hosting gets you Puppeteer, Playwright and core REST under SSPL-1.0, but the anti-bot tooling that's actually hard to replicate stays behind the managed product. Plan your architecture assuming that split persists for three years, not two.
Comparison pages against Browserbase and Bright Data signal they know exactly who they're displacing, with self-hosting as the stated wedge.
connect() instead of launch() as the integration point respects how engineers already write automation code rather than forcing a new framework.
A hosted MCP server at mcp.browserless.io plugging into Claude, Cursor, VS Code and Windsurf extends the same infra into agent tooling without a separate product.
Self-hosted Docker under SSPL-1.0 caps lock-in risk, but core anti-bot endpoints like /unblock stay cloud-only indefinitely by design.
BrowserQL plus a typed BAP SDK on top of standard Puppeteer/Playwright compatibility is deeper tooling than a plain proxy-and-launch() wrapper.
Engineering teams running Puppeteer or Playwright automation at meaningful scale who want metered infrastructure costs and an eventual self-hosting escape hatch.
Avoid if your workload depends on the cloud-only anti-bot endpoints but your compliance posture requires full self-hosting.
Unit pricing, five tiers, no sales call until Enterprise. Honest math.
“$25 to $350 a month, annual billing, units map straight to 30-second browser blocks. The gap to Enterprise custom pricing is the only blank on the rate card.”
Five tiers, four with real numbers attached. Free: 1,000 units, no card. Prototyping $25/month annual, 20,000 units. Starter $140, 180,000 units. Scale $350, 500,000 units. That's a clean unit-cost curve — $0.0007/unit at Scale, cheaper than $0.00125 at Prototyping. Volume actually buys something here.
Team of 50 running scraping jobs at moderate volume lands on Starter or Scale fast — 500,000 units is 166 hours of browser time a month, not a lot once CAPTCHA solves (10 units each) and proxy MB (6 units residential) start eating the pool. Year 3 cost depends entirely on how much proxy and CAPTCHA volume you run, not seat count. No seats here at all, which is its own kind of honest.
Enterprise is the one quote-only tier — GPU infrastructure, dedicated TAM, commercial self-host license. Fine, that's custom infrastructure pricing, not bait. Monthly billing, no term-length info I could find, so I can't score auto-renewal risk either way.
No credit card needed for Free, self-serve up through Scale at $350/month keeps procurement out of the loop until Enterprise.
Monthly or annual billing is visible, but I couldn't find auto-renewal or cancellation terms to score them confidently.
Four tiers show exact dollar and unit figures; only Enterprise is quote-only, which is reasonable for custom infrastructure.
Per-run unit cost in the dashboard ties spend directly to specific scrape or PDF jobs, a rare direct line to value.
Unit consumption (10 units/CAPTCHA, 6 units/MB residential proxy) makes true 3-year cost volume-dependent, not a flat per-seat line.
Engineering teams who want usage-based pricing they can model before committing a budget line.
Avoid if you need a fixed, predictable monthly number regardless of CAPTCHA or proxy volume.
connect() instead of launch() is the whole pitch, and it actually holds up
“Swapping launch() for connect() against a Browserless WebSocket endpoint is genuinely a one-line migration for existing Puppeteer or Playwright code. The deeper surface — BrowserQL, the MCP server, Live URLs — takes longer to learn but rewards the time.”
The connect()/connectOverCDP() swap is real — your existing test suite or scraper doesn't need a rewrite, just a new target. That's rare in this category where most 'drop-in' claims mean partial compatibility.
Where it gets interesting is BrowserQL and the MCP server. BrowserQL has its own IDE with autocomplete and query history, which signals a team that writes real automation, not just a REST wrapper over Chrome. The MCP server wiring into Claude, Cursor, VS Code and Windsurf is forward-looking for agent work, but /agent/run is explicitly beta — I wouldn't put it in a production pipeline yet, and the docs should say what breaks when it changes.
Session max time caps out at 15 minutes on Prototyping and 60 on Scale, which matters for anything doing long-running crawls — you'll hit reconnect logic sooner than you'd like. Self-hosted Docker keeps Puppeteer, Playwright and core REST working, but losing /unblock and /smart-scrape outside the cloud product means your local dev environment and your production environment behave differently. That's a day-3 fight waiting to happen.
One-line code change plus live debugger and session replay mean failures are diagnosable, not guessed at.
BrowserQL IDE with autocomplete and query history and a typed BAP SDK read like tools built by people who write automation daily.
Session max time caps (15-60 min by tier) and self-hosted/cloud feature parity gaps create real weekly friction.
BrowserQL, page.mapSelector(), and Authenticated Profiles give real depth, but /agent/run beta status limits how far you can push agent workflows today.
Fits existing Puppeteer/Playwright code via connect() with no new API to learn for basic use cases.
Teams with existing Puppeteer or Playwright automation who want to move it to managed cloud browsers without rewriting scripts.
Avoid if you need long-running sessions well past 60 minutes or full endpoint parity between self-hosted and cloud deployments.
A developer tool that actually behaves like infrastructure, not a demo.
“Browserless is built for people who live in terminal windows, not dashboards. The dashboard itself is where the real craftsmanship shows up.”
This isn't a product you poke around in for fun, it's a thing you wire into a script and forget about until something breaks. That's the right posture for this category, and the dashboard reflects it: request logs filterable by endpoint, outcome, target URL and API key, plus session replay and a live debugger. That's the kind of screen you build when you've personally been paged at 2am wondering why a scrape failed.
First ten minutes is genuinely low-friction if you already write Puppeteer or Playwright, since it's a one-line swap to connect(). If you don't already know those libraries, you're doing homework, not onboarding, there's no beginner on-ramp here.
The free tier giving you 1,000 units with no credit card is a real try-before-you-buy, not a teaser. Month three is where BrowserQL and the typed BAP SDK start paying off, since raw scripts get brittle at scale. Mobile doesn't apply to this category, so I won't dock it for that. Self-hosted Docker is a genuine escape hatch if you ever distrust the cloud bill.
Per-run unit cost shown next to session replay and a live debugger is the sweated detail you actually want daily.
BrowserQL's IDE with autocomplete and live preview gives a real path from quick script to structured, maintainable extraction over time.
No mobile surface is described, which is normal for a headless browser API and not a real gap for this audience.
The connect() swap is near-instant for Puppeteer/Playwright users but offers nothing for anyone outside that audience.
Session reconnects and persisted storage up to 90 days on Scale suggest a team that's thought about crash recovery, not just happy paths.
Engineers already writing Puppeteer or Playwright automation who want cloud browsers without rebuilding their scripts.
Skip it if you want a no-code scraping tool or need a polished mobile experience.
Comparison pages against six rivals. Usually means a crowded lane, not a clear win.
“Browserless publishes its own vs-pages against Browserbase, Bright Data, Apify, ScrapingBee, Firecrawl and Hyperbrowser — that's a category with a lot of graves and a lot of survivors. The product itself backs its claims with real specifics; the differentiation story is thinner.”
Six named competitors on the comparison pages. That's not a red flag by itself — it's a crowded lane, and crowded lanes have both long survivors and quiet shutdowns. What separates them is usually execution, and the unit-cost dashboard plus session replay suggests Browserless is paying attention to the stuff that normally gets neglected until a billing complaint forces it.
Self-hosted Docker under SSPL-1.0 is a real exit path — better than most managed scraping shops offer. But six REST endpoints and the managed proxies stay cloud-only, so the self-hosted version isn't actually the same product, it's a reduced one. That's the kind of asterisk marketing copy doesn't lead with.
SOC 2 Type II and a HIPAA BAA are concrete, verifiable claims, not aspirational ones. /agent/run being in beta is honestly labeled, which counts for something. Whether BrowserQL and the MCP server are differentiated enough to beat Bright Data on its home turf — unclear from here.
Comparison pages against Browserbase, Bright Data, Apify, ScrapingBee, Firecrawl and Hyperbrowser signal a packed field, not a clear gap.
Docker self-hosting exists but drops six REST endpoints and managed proxies, so it's a downgrade, not a mirror.
Changelog and docs are visible and plans scale from 1,000 free units to 500,000 at $350/month, suggesting active product work.
Claims like SOC 2 Type II and beta-labeled /agent/run are specific and checkable, not vague superlatives.
Named endpoints, unit costs and session storage tiers back up the feature claims with real numbers.
Teams already writing Puppeteer or Playwright who want anti-bot infrastructure handled without picking a brand-new scraping vendor.
You need the self-hosted deployment to carry full feature parity with the cloud product.
Common questions answered by our AI research team
The Free plan includes 1k units/month, 2 max concurrent browsers, BrowserQL language and editor, 2 min. max session time, session reconnects, 1 day persisted sessions and replays storage, 8 hours log search window, residential and datacenter proxies, automatic captcha solving, Chrome Extensions, San Francisco/London/Amsterdam endpoints, and Chrome, WebKit & Firefox support. No credit card is required.
The Starter plan costs $140/month billed annually, with 40 max concurrent browsers and 180k units per month included.
No. You only need to swap launch() for connect() in your existing Puppeteer or Playwright code — it's a one-line change and your automation code stays identical.
Yes. Browserless runs self-hosted from a Docker image, and Enterprise plans support private deployments, licensed self-hosting, and a commercial license for self-hosting on your own infrastructure.
Yes, Browserless is SOC 2 Type II certified, along with being GDPR compliant and offering HIPAA BAA and DPA availability.
Who Browserless competes with, and how each one differs
Direct, venture-funded rival for the same AI-agent browser-infrastructure niche: raised a $40M Series B (2025, led by Notable Capital) at a reported $300M valuation and ~$67.5M total raised, versus Browserless's bootstrapped, sub-10-employee model.
Much larger proxy-network and web-data platform (residential/datacenter IP pool plus ready-made datasets); Browserless competes narrowly on managed headless-browser hosting rather than proxy infrastructure or data products.
Broader scraping platform built around a marketplace of prebuilt "Actors" (5,000+) with usage-based credit pricing, versus Browserless's narrower positioning as raw managed-browser infrastructure that developers wire into their own Puppeteer/Playwright code.
Open-source-first alternative offering a similar hosted-browser API for AI agents; smaller and newer than Browserless, competing mainly on developer experience and open-source trust rather than scale or tenure.
Newer entrant targeting the same AI-agent browser-automation use case with stealth and CAPTCHA-handling features that overlap directly with Browserless's own stealth/CAPTCHA offering.
Company
browserless.io, Inc.Founded
2017Pricing
From $25/moFree Plan
Available




browserless.io, Inc. is a Battle Ground, Washington-registered company providing cloud and self-hosted headless browser infrastructure for Puppeteer, Playwright, and AI agent automation.