[Compare](https://cdpfleet.com/docs/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](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 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](https://cdpfleet.com/docs/sdk) 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](https://cdpfleet.com/docs/pricing#community): 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](https://cdpfleet.com/docs/proxies#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](https://cdpfleet.com/docs/cases/stealth-builds)). | 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](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`. [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. | 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](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). | 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](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). | 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](https://cdpfleet.com/docs/functions/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](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.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](https://cdpfleet.com/docs/cases) run on production in five languages, all on [GitHub](https://github.com/cdpfleet/cdpfleet) 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](https://cdpfleet.com/docs/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](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

-   [ZenRows pricing](https://www.zenrows.com/pricing)
-   [ZenRows docs: pricing and credits](https://docs.zenrows.com/first-steps/pricing)
-   [ZenRows docs: the ZenRows Browser](https://docs.zenrows.com/browser-sessions/introduction)
-   [ZenRows docs: the Browser with Puppeteer](https://docs.zenrows.com/browser-sessions/get-started/puppeteer)
-   [ZenRows docs: Browser FAQ](https://docs.zenrows.com/browser-sessions/faq)
-   [ZenRows Academy: log in once and reuse the session](https://docs.zenrows.com/academy/browser/login-and-reuse-sessions)
-   [ZenRows docs: Fetch API reference](https://docs.zenrows.com/fetch/api-reference)
-   [ZenRows docs: JavaScript instructions](https://docs.zenrows.com/fetch/features/js-instructions)
-   [ZenRows docs: page screenshot](https://docs.zenrows.com/fetch/features/screenshot)
-   [ZenRows docs: PDF response](https://docs.zenrows.com/fetch/features/pdf)
-   [ZenRows docs: Extract](https://docs.zenrows.com/extract/setup)
-   [ZenRows docs: Crawl endpoints](https://docs.zenrows.com/crawl/endpoints)
-   [ZenRows docs: Batch](https://docs.zenrows.com/batch/introduction)
-   [ZenRows docs: Batch FAQ](https://docs.zenrows.com/batch/faq)
-   [ZenRows Academy: change detection](https://docs.zenrows.com/academy/pipelines/change-detection)
-   [ZenRows Academy: search engine results](https://docs.zenrows.com/academy/use-cases/search-engine-results)
-   [ZenRows docs: MCP server](https://docs.zenrows.com/mcp/overview)
-   [ZenRows docs: agentic payments](https://docs.zenrows.com/first-steps/agentic-payments)

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