Compare / other services
cdpfleet vs ZenRows
The ZenRows Browser — cloud Chrome over CDP, always on its residential proxies, 15-minute sessions, billed in credits per minute and per GB — and its Fetch, Crawl and Batch APIs, against a fleet of twelve real browsers on flat threads with free traffic through any proxy, and cdpfleet Functions.
ZenRows sells web data APIs paid from one monthly credit balance: Fetch (formerly the Universal Scraper API — a URL in, the page out as HTML, Markdown, JSON, a screenshot or a PDF, with JavaScript rendering and residential "premium" proxies as credit multipliers), and Extract, Crawl and Batch built on it. The ZenRows Browser (formerly Scraping Browser) is a cloud Chrome you reach over a CDP WebSocket with Puppeteer or Playwright, with every request going out through ZenRows' residential proxies in 190+ countries. This page compares the browser with cdpfleet sessions, and the APIs with cdpfleet Functions, jobs and 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 or CDP from five languages, through any proxy you choose, on threads you buy.
| cdpfleet | ZenRows | |
|---|---|---|
| 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; headful by default. | Cloud-hosted Chrome (version not published). The viewport, window size and user agent are fixed to match its fingerprint: calls such as page.setViewportSize() are blocked. |
| How you connect | Playwright protocol (connect(wsUrl), client 1.60) from Node.js, Python, Java, C# and Go — or "cdp": true for a cdpUrl (Puppeteer, connectOverCDP). SDKs for Node.js, Python and Go (C# and Java build from source). | A CDP WebSocket (wss://browser.zenrows.com?apikey=…) for Puppeteer or Playwright connectOverCDP; examples in Node.js and Python. |
| Session length | Up to 24 h (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. | session_ttl from 60 s to 15 minutes, 3 minutes by default. |
| Browser time | Free Community plan: 2 threads, 60 browser-minutes per thread a day, 15-minute sessions, proxies included. Per second, as thread-seconds. Shared: $0.02–$0.05 per browser-hour at full use; dedicated $0.01/hour ($8.50/month for a browser around the clock). A headful session takes 2 threads. | 5 credits per minute. Credits cost $0.00042 (Build, $19/month for 45,000) down to $0.00007 (Scale, $2,999/month for 45 million), so a browser-hour is about $0.02–$0.13 depending on the plan (our arithmetic from the published credit prices). |
| Traffic | Free through your own proxies — HTTP, HTTPS or SOCKS5, single, pools or per-host rules, with live swap. | All traffic goes through ZenRows' residential proxies and is billed: 25,000 credits per GB, about $1.67–$10.56 per GB depending on the plan. No bring-your-own proxy in the Browser docs. |
| Residential proxy | cdpfleet residential: 4 tiers from $0.50/GB ($5/GB at Tier 1), $5 free credit, by country, device OS and sticky session — or none, with your own proxy. | Included and mandatory: 55 million+ IPs in 190+ countries, a world region or one country per session, automatic IP rotation. |
| Concurrency | The threads you buy: 5 to 10,000 (more on request). | Free 5, Build 20, Launch 50, Growth 100, Scale 200–400, Enterprise 500+. |
| Stealth | Real browsers by default (genuine Chrome, Edge, Brave…), headful by default, and three stealth builds — Patchright, Rebrowser, Camoufox (compare them). | Residential IPs and rotation, and a window size kept consistent with the fingerprint; no further stealth details published for the browser. |
| Captcha solving | Not built in. Use any solver through Playwright, or hand over to a person with live view. | The browser "doesn't include built-in CAPTCHA solving" (Browser docs). Fetch can solve reCAPTCHA or Turnstile in its JavaScript instructions with your own 2Captcha key. |
| Watching and keeping sessions | Live view with human takeover — Watch / Take control in the dashboard, or a link from the API — and 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 as MP4 (480p free, 720p or 1080p on a plan), and JPEG frames to your code with page.screencast. Persistent profiles keep cookies, local storage and IndexedDB between sessions (paid plans); Playwright storageState; keep_alive to reconnect to the same browser on dedicated threads. | No live view, recordings or saved profiles in the Browser docs; the Academy keeps a login with Playwright's storageState in your own file. |
| Scraping in one call | Functions: screenshot, PDF, Markdown, scrape (HTML, Markdown, text, links, screenshot, XHR calls, cookies; wait_for, actions, extract by CSS selector), map, geo compare and a live tab — 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. | Fetch (GET api.zenrows.com/v1/): HTML, Markdown, plain text, a PDF or a screenshot; JSON with the page's XHR/fetch calls; css_extractor selectors or outputs filters; js_render, wait/wait_for, js_instructions (click, fill, select, check, scroll, wait, evaluate, iframe steps — 40 seconds in all), premium_proxy with a country, session_id to keep an IP for 10 minutes, custom headers; mode=auto escalates to rendering and premium proxies only when a site needs them. Only successful requests are billed (a 404 or 410 counts): 1 credit, 5 rendered, 10 with premium proxies, 25 with both — so 1,000 rendered pages cost about $2.11 (Build B1) to $0.33 (Scale S5), $10.56–$1.67 with premium proxies, our arithmetic. Agents can also buy Fetch without an account, at $0.50 per 1,000 credits over x402, MPP or a card. A per-page cost for a Function depends on how long the page takes, which we haven't measured against these. |
| Crawling and bulk | 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 (live XHR/WebSocket/DOM events), warmup and monitors (scheduled change detection with diffs). | Crawl (new, POST /v1/crawls): from a start URL across one domain by its links, up to 100,000 pages (100 by default), include/exclude patterns, the URLs alone — the Academy's way to map a site — or each page as HTML or Markdown, results as NDJSON, signed webhooks; each page billed as a Fetch with mode=auto, 1–25 credits. Batch: up to 100,000 URLs a job with Fetch options per URL (screenshots excepted), retries, results kept 14 days, signed webhooks, reruns of failed tasks, and schedules — one-shot, every 60 minutes or more, or calendar times in a time zone. 3 crawl or batch jobs at once by default, 5 scheduled jobs per account. No change detection of its own: the Academy's recipe diffs Fetch results in your code. |
| Screenshots and PDFs | Screenshot (PNG/JPEG, viewport or full page) and PDF Functions — a text PDF from a Chromium-based browser. | On Fetch with js_render: screenshot — the viewport, the full page or one element, PNG or JPEG with a quality, at a fixed viewport size — and response_type=pdf for the rendered page as a PDF. Billed as a rendered request: 5 credits, 25 with premium proxies. |
| Search and site APIs | None — no search-engine or per-site APIs; a scrape or a session reads whatever page you point it at. | No search endpoint or per-site APIs. Extract (extract=auto on a Fetch) returns per-site structured JSON for the domains ZenRows has prepared, listed by GET /v1/extract/domains; each account can have a set number of new domains prepared a month, at no credit cost, and each request is billed like its Fetch. The Academy reads Google and Bing results pages this way. |
| Agent tooling | A hosted MCP server at cdpfleet.com/mcp — add it in Claude, ChatGPT or Gemini and sign in with OAuth — or npx cdpfleet-mcp; SDKs for Node.js, Python and Go. | A hosted MCP server (mcp.zenrows.com/mcp, OAuth 2.1 or a Bearer key) or a local one (npx -y @zenrows/mcp, which signs up a Free account on first use) with scrape, extract, Crawl, Batch and browser tools — navigate, click, fill, cookies, local storage, tabs, screenshot, PDF; a CLI with agent skills, templates and workflows; Fetch SDKs for Python, Node.js and Go; integrations for Claude, Cursor, LangChain, CrewAI, n8n, Zapier and others. |
| Examples | 89 cases run on production in five languages, all on GitHub with their output. | Docs guides for Puppeteer and Playwright, and an Academy of recipes and pipelines, each with a prompt for an AI agent. |
ZenRows facts from its public pricing page and documentation, checked on 11 November 2026; list prices in USD. Tell us if something is out of date.
Which one, when
Pick ZenRows if…
- You mostly fetch pages through an API — rendered, unblocked, as Markdown, a screenshot or a PDF — paying per successful page, with a real browser on the same credit balance when you need one.
- Sessions are short (under 15 minutes) and you want residential IPs in 190+ countries without managing a proxy.
- You want scheduled batch jobs of up to 100,000 URLs, or per-site structured JSON from Extract without writing selectors.
Pick cdpfleet if…
- You bring your own proxies — traffic through them is free here, while every byte through the ZenRows Browser is billed per GB.
- Sessions last longer than 15 minutes: logins kept warm, long crawls, monitoring, or a browser around the clock on a flat-priced dedicated thread.
- You want monitors that check pages on a schedule and keep the diffs, or crawl and batch jobs without a 100,000-page cap or a three-jobs-at-once default.
- The site must see a specific real browser or version — Chrome channels, Edge, Brave, Firefox, WebKit, Camoufox — or a headful one.
- You need recordings, live takeover or persistent profiles, or the Playwright protocol from Java, C# or Go.
- 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 is one HTTPS call and five lines of Playwright; the code builder writes the launch for any browser and option set in your language.
Sources
- ZenRows pricing
- ZenRows docs: pricing and credits
- ZenRows docs: the ZenRows Browser
- ZenRows docs: the Browser with Puppeteer
- ZenRows docs: Browser FAQ
- ZenRows Academy: log in once and reuse the session
- ZenRows docs: Fetch API reference
- ZenRows docs: JavaScript instructions
- ZenRows docs: page screenshot
- ZenRows docs: PDF response
- ZenRows docs: Extract
- ZenRows docs: Crawl endpoints
- ZenRows docs: Batch
- ZenRows docs: Batch FAQ
- ZenRows Academy: change detection
- ZenRows Academy: search engine results
- ZenRows docs: MCP server
- ZenRows docs: agentic payments