[Compare](https://cdpfleet.com/docs/compare) / other services

# cdpfleet vs Browserless

The longest-running headless-browser service against a browser fleet: 30-second "units" with 2–60-minute session caps and proxies by the megabyte, or threads metered per second with your own proxies and 24-hour sessions. Prices, limits and features side by side.

Browserless has sold hosted headless Chrome since 2017 and is the service most people mean by "browser as a service": a Puppeteer or Playwright endpoint with a token, plus BrowserQL (its own GraphQL automation language with stealth and captcha solving), REST APIs for content, screenshots and PDFs, a Smart Scrape API that escalates from a plain fetch to a browser, crawl, batch, map and search APIs, and a self-hostable image. This page also sets those APIs next to cdpfleet [Functions](https://cdpfleet.com/docs/functions), [jobs](https://cdpfleet.com/docs/jobs) and [monitors](https://cdpfleet.com/docs/monitors). cdpfleet is a fleet of twelve real desktop browsers — Google Chrome, Microsoft Edge, Brave, Opera, Naver Whale, Yandex Browser, Chromium, Patchright, Rebrowser, Camoufox, Firefox and WebKit — launched with one HTTPS call and driven over the Playwright protocol from five languages, through proxies you bring. Both can hand you a Chromium over a WebSocket; the accounting, the session limits and what else is in the box differ a lot.

|  | cdpfleet | Browserless |
| --- | --- | --- |
| Browsers | 12 — Google Chrome, Microsoft Edge, Brave, Opera, Naver Whale, Yandex Browser, Chromium, Patchright, Rebrowser, Camoufox, Firefox, WebKit. Chrome with stable, beta and dev channels and pinned previous majors; Camoufox with pinned versions. | Chromium, Chrome, Firefox, WebKit and Edge (Edge over Playwright only), and stealth routes; the pricing page lists Chrome, WebKit and Firefox. The cloud runs one current version of each (Chrome 156 when checked); pinning a version is for Private Deployment workers only. |
| How you connect | Playwright protocol: `chromium`/`firefox`/`webkit.connect(wsUrl)` with the matching Playwright client (1.60; 1.52 for Rebrowser) — Node.js, Python, Java, C# and Go. Or `"cdp": true` on the Chromium-based browsers for a `cdpUrl`: Puppeteer, `connectOverCDP` or any CDP client ([CDP & Puppeteer](https://cdpfleet.com/docs/cdp)). | Puppeteer over CDP, Playwright over CDP, Playwright's native protocol per browser (`/chromium/playwright`, `/firefox/playwright`, `/edge/playwright`…), BrowserQL (GraphQL over HTTPS), the BAP SDK for TypeScript and Python (the docs' default for new work), and REST APIs (below). |
| Session length | Up to 24 h per session (shared threads: also capped by your remaining daily minutes). Idle timeout 120 s by default, up to 10 min on shared threads and 24 h on dedicated. | Hard caps per plan: 2 min (Free), 15 min (Prototyping), 30 min (Starter), 60 min (Scale). |
| Metering | Per second, as thread-seconds: headless browser = 1 thread, headful = 2. | "Units": a block of up to 30 seconds per browser connection — a 31-second session costs two units, and a reconnect is a new connection. Proxy traffic is also billed in units per MB, CAPTCHA solves 10 units each. |
| Plans | Free [Community plan](https://cdpfleet.com/docs/pricing#community): 2 threads, 60 browser-minutes per thread a day, 15-minute sessions, proxies included. Paid from $7.50/month (5 shared threads, 60–480 browser-minutes a day per thread); dedicated threads for 24/7 use at $8.50/thread/month. [Pricing](https://cdpfleet.com/docs/pricing). | Free: 1,000 units, 2 concurrent. Prototyping $25/month: 20,000 units, 10 concurrent, $0.0020/unit over. Starter $140/month: 180,000 units, 40 concurrent, $0.0017/unit. Scale $350/month: 500,000 units, 100 concurrent, $0.0015/unit. Enterprise custom. (Annual billing prices; paid monthly: Prototyping $35, Starter $200, Scale $500.) |
| One browser-hour | Shared: $0.02–$0.05 at full use; dedicated $0.01. A browser running 24/7 is one dedicated thread, $8.50/month. | 120 units: $0.18–$0.24 at the overage rates, about $0.21 at the Starter plan's included rate ($140 ÷ 1,500 h). A browser running 24/7 would need a new session every 15–60 minutes and ≈ 86,400 units/month ≈ $130–$173. |
| Concurrency | The threads you buy: 5 to 10,000 (more on request); each session takes 1–4 threads by type. | 2 (Free), 10 (Prototyping), 40 (Starter), 100 (Scale) on annual billing — 5, 30 and 80 paid monthly — with small burst allowances; more on Enterprise. |
| Proxies | Bring your own HTTP, HTTPS or SOCKS5 proxies — single, pool, or per-host rules (`proxy_rules`) — swap a running session's proxy live, see traffic per destination host and per rule; traffic through them is free. Or the [cdpfleet residential proxy](https://cdpfleet.com/docs/proxies#residential): 4 tiers from $0.50 to $5/GB from one prepaid balance ($5 free credit), mixable per host — e.g. Tier 4 for CDN assets, Tier 1 for pages. A launch without a proxy uses the free [Community proxy](https://cdpfleet.com/docs/proxies#community-proxy) — best effort, no guarantees. | Built-in residential (6 units per MB ≈ $0.009–0.012/MB, i.e. $9–12/GB) and datacenter (2 units per MB) proxies, city targeting on Scale; your own proxies via launch arguments use no proxy units — from Prototyping up by the pricing page, with no plan restriction in the docs. |
| Stealth | Real browsers by default (genuine Chrome, Edge, Brave…), headful by default, and three stealth builds — Patchright, Rebrowser, Camoufox — on every plan. See [headless tells](https://cdpfleet.com/docs/cases/headless-tells). | Stealth routes for Puppeteer/Playwright and stealth-enabled BrowserQL sessions with human-like interactions; included on all Cloud plans, not in the open-source image. |
| Captcha solving | Not built in. Use any solver through Playwright. | Built in on all Cloud plans (BrowserQL `solve`; `verify` is deprecated), 10 units per successful solve; not in the open-source image. |
| Watching a session | Live view with human takeover — Watch / Take control in the dashboard, or a link from the API — and [Launch interactive](https://cdpfleet.com/docs/live-view#launch-interactive): open any browser on a start page straight into live view from the dashboard's code generator (`start_url` over the API). [Session recordings](https://cdpfleet.com/docs/recordings) as MP4 (480p free, 720p or 1080p on a plan), and JPEG frames to your code with `page.screencast`. | Session replays and storage kept 1 day (Free) to 90 days (Scale), log search over 8 hours to 7 days; screen recording on paid plans; Hybrid Automations stream a page to a person to take over, on every plan; a debugger in the dashboard. |
| Persistence | [Persistent profiles](https://cdpfleet.com/docs/profiles) keep cookies, local storage and IndexedDB between sessions (paid plans); Playwright `storageState`; `keep_alive` to reconnect to the same browser on dedicated threads. | Reconnect to a session within the plan's session cap; the Session API keeps browser state across restarts for 1–90 days by plan. `--user-data-dir` needs an Enterprise licence (self-hosted or private deployment). |
| Mobile | Playwright device emulation on Chromium-family and WebKit; hardware Android phones and iOS WebView in early access. | Emulation through Puppeteer/Playwright. |
| Self-hosting | No — a managed fleet. | Yes: the Docker image (SSPL-1.0, or a commercial licence for closed-source use); stealth routes and CAPTCHA solving need Cloud or an Enterprise licence, and `/unblock`, Smart Scrape, crawl, map and search are Cloud-only. |
| Where the browser runs | Servers in the EU (Germany and Finland); your proxy decides where traffic exits. | Shared fleet in San Francisco, London and Amsterdam; private fleets by region, US East included. |
| Scraping in one call | [Functions](https://cdpfleet.com/docs/functions): screenshot, PDF, Markdown, [scrape](https://cdpfleet.com/docs/functions/scrape) (HTML, Markdown, text, links, screenshot, XHR calls, cookies; `wait_for`, `actions`, `extract` by CSS selector), [map](https://cdpfleet.com/docs/functions/map), [geo compare](https://cdpfleet.com/docs/functions/geo) and a [live tab](https://cdpfleet.com/docs/functions/livetab) — in a pooled browser, or in a browser and device of your choice on paid plans. Billed like a session (one thread while the call runs, one per country for geo compare); the Community proxy and your own proxies cost nothing extra. Free tools at [/functions](https://cdpfleet.com/functions). | REST APIs billed by time like a session — 1 unit per 30 seconds, rejected requests free: `/content` (rendered HTML), `/scrape` (JSON of the elements you select), `/function` and `/download` (your Puppeteer code), `/export`, `/performance` (Lighthouse) and `/unblock` (content, cookies, a screenshot or a browser endpoint; Cloud only), with `waitForSelector`, `gotoOptions`, `bestAttempt` and more. **Smart Scrape** escalates from a plain fetch to a proxy, a browser and CAPTCHA solving, and returns HTML, Markdown, text, links, a screenshot, a PDF, JSON or a summary, with up to 20 actions, a country and a cache of up to 48 hours; plain fetches and cache hits cost 0.5 units per 30 seconds, the AI formats 1 unit per 6,400 input and per 800 output tokens. A Zillow scraper at 10 units a call (beta). |
| Crawling and bulk | [Jobs](https://cdpfleet.com/docs/jobs) on paid plans: batch (any number of URLs), crawl and map, with no size or time limit — runs continue past the 24-hour session limit by themselves; results as JSON lines or a zip archive, kept 14 days; stop and resume; signed webhooks. Plus [watch](https://cdpfleet.com/docs/jobs#watch) (live XHR/WebSocket/DOM events), [warmup](https://cdpfleet.com/docs/jobs#warmup) and [monitors](https://cdpfleet.com/docs/monitors) (scheduled change detection with diffs). | Cloud-only APIs in beta: `/crawl` (async, 100 pages by default up to a plan limit, up to 20 levels deep, sitemaps, include/exclude paths, Markdown, HTML or text per page, webhooks; results kept 24 hours), `/batch-scrape` (25 URLs a job on Free, 100, 500 or 1,000 on paid plans, billed per 30 seconds of each page) and `/map` (up to 5,000 URLs). Change tracking is a Smart Scrape format — new, same, changed or removed against the last check, with a diff and 30 days of history, at no extra cost — but there is no scheduler: you call it on your own timetable. |
| Screenshots and PDFs | Screenshot (PNG/JPEG, viewport or full page) and PDF Functions — a text PDF from a Chromium-based browser. | `/screenshot`: PNG, JPEG or WebP — viewport, full page, a clip or one element. `/pdf` from a URL or raw HTML with Chrome's print options (format, header and footer, backgrounds) and tagged PDFs. Billed by time: a call under 30 seconds is 1 unit. BrowserQL can take screenshots and PDFs too. |
| Search and site APIs | None — no search-engine or per-site APIs; a [scrape](https://cdpfleet.com/docs/functions/scrape) or a session reads whatever page you point it at. | `/search` for web, news and images, optionally scraping the results — 3 (Free) to 20 (Scale) results a search, billed in units; the Zillow scraper (beta). |
| Agent tooling | A hosted [MCP server](https://cdpfleet.com/docs/mcp/setup) at cdpfleet.com/mcp — add it in Claude, ChatGPT or Gemini and sign in with OAuth — or `npx cdpfleet-mcp`; [SDKs](https://cdpfleet.com/docs/sdk) for Node.js, Python and Go. | A hosted MCP server (`mcp.browserless.io/mcp`, OAuth or token; also on npm) with agent, smart-scrape, crawl, map, search, function and session tools; a managed `/agent/run` API (beta, Cloud only, units from model tokens); the BrowserQL IDE; a CLI. |
| Examples | [89 cases](https://cdpfleet.com/docs/cases) run on production in five languages, all on [GitHub](https://github.com/cdpfleet/cdpfleet) with their output. | Docs with Puppeteer/Playwright/BrowserQL snippets; REST API recipes. |

Browserless facts from its public pricing page and documentation, checked on 9 November 2026; list prices in USD. Tell us if something is out of date.

## Which one, when

### Pick Browserless if…

-   You want one API that escalates from a plain fetch to a browser with CAPTCHA solving, plus web search and change tracking, on the same unit balance as your browsers — and cheap short calls: a page in under 30 seconds is 1 unit.
-   You want captcha solving, stealth and residential proxies from one vendor, or BrowserQL's declarative scripts.
-   You need to self-host the same stack on your own servers.

### Pick cdpfleet if…

-   You want crawls and batch jobs without a page cap or a 24-hour result window, and [monitors](https://cdpfleet.com/docs/monitors) that check a page on a schedule by themselves.
-   Your sessions run longer than an hour — logins kept warm, monitoring, queues — or around the clock on dedicated threads.
-   You need a specific real browser or version: Chrome beta/dev or a pinned major, Edge, Brave, Opera, Camoufox, a stealth build on every plan.
-   You already pay for proxies and want per-host routing, live swaps and traffic accounting instead of units per MB.
-   You want per-second metering and Playwright clients in Java, C# or Go as well as Node.js and Python.
-   You want to start free — the Community plan includes proxies — and try a browser in live view before writing any code.

## Try it

The [quickstart](https://cdpfleet.com/docs/quickstart) is one HTTPS call and five lines of Playwright; the [code builder](https://cdpfleet.com/docs/builder) writes the launch for any browser and option set in your language.

### Sources

-   [Browserless pricing](https://www.browserless.io/pricing)
-   [Browserless docs: connection URLs](https://docs.browserless.io/overview/connection-urls)
-   [Browserless docs: supported browsers](https://docs.browserless.io/baas/infrastructure/supported-browsers)
-   [Browserless docs: browser versions](https://docs.browserless.io/baas/versions)
-   [Browserless docs: unit consumption](https://docs.browserless.io/overview/unit-consumption)
-   [Browserless docs: proxies](https://docs.browserless.io/baas/bot-detection/proxies)
-   [Browserless docs: persisting state](https://docs.browserless.io/baas/session-management/persisting-state)
-   [Browserless docs: user data directory (Enterprise)](https://docs.browserless.io/enterprise/user-data-directory)
-   [Browserless docs: open source vs Cloud](https://docs.browserless.io/enterprise/open-source)
-   [Browserless docs: REST APIs](https://docs.browserless.io/rest-apis/intro)
-   [Browserless docs: Smart Scrape](https://docs.browserless.io/rest-apis/smart-scrape)
-   [Browserless docs: Crawl API](https://docs.browserless.io/rest-apis/crawl)
-   [Browserless docs: Batch Scrape API](https://docs.browserless.io/rest-apis/batch-scrape)
-   [Browserless docs: Map API](https://docs.browserless.io/rest-apis/map)
-   [Browserless docs: Search API](https://docs.browserless.io/rest-apis/search)
-   [Browserless docs: Agent Run API](https://docs.browserless.io/rest-apis/agent-run)
-   [Browserless docs: MCP server](https://docs.browserless.io/mcp/browserless-mcp-server/setup)
-   [browserless/browserless on GitHub (licence)](https://github.com/browserless/browserless)

---
Source: https://cdpfleet.com/docs/compare/cdpfleet-vs-browserless · Markdown: https://cdpfleet.com/docs/compare/cdpfleet-vs-browserless.md · All docs for AI tools: https://cdpfleet.com/llms.txt
