Compare / other services
cdpfleet vs Zyte
Zyte API's managed headless browser over CDP (sessions up to 1 hour, billed per 15 s at the target site's price tier, paid plan and business verification required) and its scraping API (HTTP or browser-rendered requests in five price tiers, AI extraction, Scrapy Cloud), against twelve real browsers on flat threads and cdpfleet Functions. Prices, limits and features side by side.
Zyte sells web scraping as Zyte API, paid per successful response from a monthly spending limit. You send one request per URL and get back the HTTP response body or a page rendered in Zyte's browser — HTML, a screenshot, captured network responses, Markdown or AI-extracted data — after optional browser actions, with Zyte choosing the proxy type, country and ban-avoidance technique per site. The price depends on the target site's tier (1 "Simple" to 5 "Advanced"). Zyte API also has a CDP headless browser that you connect Playwright or Puppeteer to and drive yourself, billed per 15 seconds at the same tier prices, for sessions of up to an hour, on a paid plan after business verification. Scrapy Cloud hosts Scrapy spiders, and scrapy-zyte-api plugs the API into Scrapy. This page compares the CDP browser with cdpfleet sessions, and the request API with cdpfleet Functions (one HTTP call per task, plus 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 | Zyte | |
|---|---|---|
| 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. | One headless browser with a "stealth fingerprint" set per target site; it takes Chromium's CDP (chromium.connect_over_cdp), but its name and version aren't published and you can't choose another. Browser requests emulate a desktop (the device=mobile option is for HTTP requests only); viewport 320–5120 × 360–4096, default 1920×1080. |
| 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). | CDP: https://browser.zyte.com/ with your API key in a Basic Authorization header, options as query parameters (ttl, proxy_region, proxy_type) — Playwright connectOverCDP (Python, JavaScript), Puppeteer (wss://pop-us.browser.zyte.com/wss) or scrapy-playwright; Selenium isn't supported. Needs a paid plan and an approved business verification (legal name, company registration number, use case); the docs allow a pay-as-you-go account with a spending limit set, while the product page FAQ says CDP "is not available on pay as you go". Requests: POST https://api.zyte.com/v1/extract with JSON from any HTTP client, or proxy mode (api.zyte.com:8011) with headers like Zyte-Browser-Html. |
| 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. | CDP: ttl 15–3,600 s, default 60 s, at most 1 hour. A session ends on the CDP Browser.close command or at its ttl; Playwright's browser.close() only disconnects, and the session stays reserved — and billed — until its ttl. Browser requests: all actions must finish within 60 s. Request sessions keep an IP and cookie jar (not a browser) for at most 15 minutes (client-managed) or up to 4 hours (server-managed); a CDP session's IP or cookies can't be reused by a later connection. |
| 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. | CDP sessions are billed in units priced like one browser request at the tier of the first page.goto() domain: the higher of the number of goto calls and the session time in 15-second steps, rounded up. An hour is 240 units — about $0.24 (tier 1) to $3.86 (tier 5) per browser-hour pay-as-you-go, $0.12–$1.84 with a $500/month commitment (our arithmetic from the list prices). Zyte assigns the tier per site and reviews it quarterly; the pricing page's estimator and an MCP tool give a site's price. |
| Traffic | Free through your own proxies — HTTP, HTTPS or SOCKS5, single, pools or per-host rules, with live swap. | Included in the request or unit price. CDP sessions on residential proxies have a per-unit bandwidth cap and pay per GB above it; neither the cap nor the rate is published. Network captures cost "based on output size", actions "based on CPU and network consumption". Using your own proxy isn't documented. |
| 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: 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 — best effort, no guarantees. | Datacenter or residential, chosen per site by Zyte; forcing ipType=residential needs business verification and costs more. 20 standard countries (AU, BE, BR, CA, CN, DE, ES, FR, GB, IN, IT, JP, KR, MX, NL, PL, RU, TR, US, ZA); other ISO countries are "extended" geolocations at a different price. The pricing page lists "residential, datacenter, and mobile IPs"; the docs name only datacenter and residential. CDP browsers run in one US region (product page FAQ). |
| Plans | Free Community plan: 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. | Free: $5 credit for the first billing month (no CDP on the trial). Pay-as-you-go with a $100 monthly spending limit, or a monthly commitment for a volume discount: $100 (25%), $200 (40%), $350 (48%), $500 (52%) with spending limits up to $2,500 — the pricing page shows the $100, $200 and $500 levels only. Unused commitment isn't refunded. Only successful responses are charged; rate-limited and failed ones are free. Enterprise: custom prices and limits, $200 free credit, and possibly an SLA (1-hour response on weekdays, 8 hours at weekends). Scrapy Cloud: one free half-size unit (jobs up to 1 hour, data kept 7 days), $9/month per unit. |
| Concurrency | The threads you buy: 5 to 10,000 (more on request), 2 on the free Community plan; each session takes 1–4 threads by type. | 3,000 requests per minute per API key on standard plans (10,000 on Enterprise in the docs' plan table, "custom" on the rate-limits page), plus per-website limits; concurrency follows from response time — about 100 at 2 s, 1,000 at 20 s, their formula. The maximum of concurrent CDP browsers per organization isn't published (over it you get a 429). |
| Stealth | Real browsers by default (genuine Chrome, Edge, Brave…), headful by default, and three stealth builds — Patchright, Rebrowser, Camoufox (compare them). | Ban handling per site: proxy type, country, JavaScript on or off, TLS and browser fingerprint chosen by Zyte. The CDP docs say a CDP session gets none of the behind-the-scenes ban-avoidance work that browser requests get — "every session starts clean" — with "a potentially lower success rate" on some sites. We haven't measured either against a fingerprinting page. |
| Captcha solving | Not built in. Hand over to a person with live view, or use your own solver through Playwright. Warmup never solves a CAPTCHA — it leaves and comes back later. | "CAPTCHA management" is on by default (you can ask Zyte to turn it off) and named for the CDP browser too; there is no parameter for it. The pricing page lists "automatic solving of reCAPTCHA, hCaptcha, and other challenge types"; the docs don't list types. How often a given site still blocks would need a measurement. |
| 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 are documented. Over CDP you read and write cookies with your library's own API; nothing carries over to a later session. |
| 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. | Zyte API requests: httpResponseBody (any method, headers and body) or browserHtml (up to 10 MB), screenshot, networkCapture, markdown, cookies, geolocation; actions (click, type, scroll, waitForSelector/Request/Response, evaluate, plus site-specific ones such as setLocation), no loops or branching. Browser-rendered pages cost $1.01–$16.08 per 1,000 pay-as-you-go and $0.48–$7.68 at a $500 commitment; HTTP responses $0.13–$1.27 and $0.06–$0.61 — by site tier. A per-page cost for a Function depends on how long the page takes, which we haven't measured against these. |
| Structured data | The scrape Function's extract takes CSS selectors; no AI extraction or search-engine API. | Automatic extraction with AI for products, product lists and navigation, articles, forum threads, job postings and the page's main content ($0.27–$1.07 per 1,000 per data type), search-engine results (serp, no extraction charge) and Markdown; "custom attributes" — fields you describe — billed per LLM token ($1.34/$6.67 per million input/output for text, $4.02/$20.00 for HTML). |
| 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). | No crawl endpoint in Zyte API: you write the crawler — usually Scrapy with scrapy-zyte-api — and can host it on Scrapy Cloud (jobs on 1–6 units, one job per unit, periodic jobs, items as CSV, JSON, JSON Lines or XML, data kept 120 days on paid units). The extraction …Navigation types return the links to follow. |
| Screenshots and PDFs | Screenshot (PNG/JPEG, viewport or full page) and PDF Functions — a text PDF from a Chromium-based browser. | screenshot on browser requests: JPEG (quality 75) or PNG, viewport or full page (JPEG only, clipped at 5000×10000), $1.34 per 1,000 on top of the request. No PDF output on requests; over CDP you call page.screenshot() yourself. |
| 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. | Zyte MCP, a remote server (mcp.zyte.com/v1/mcp) with sign-in, for Claude Code, Codex CLI, Copilot CLI, VS Code, claude.ai and other clients: fetch over HTTP or in a browser with actions, extract, search, check a site's price, and manage Scrapy Cloud jobs and schedules. Plugins for Claude Code, Codex and Copilot CLI and a VS Code extension that write Scrapy projects; the product page suggests pointing browser agents at the CDP endpoint. |
| Examples | 89 cases run on production in five languages, all on GitHub with their output. | Code for each feature in C#, curl, Java, Node.js, PHP, Python and Scrapy in the docs; Scrapy tutorials; CDP examples in Python and JavaScript. |
Zyte facts from its public pricing page and documentation, checked on 5 November 2026; list prices in USD. Tell us if something is out of date.
Which one, when
Pick Zyte if…
- You mostly fetch pages and want Zyte to pick what works per site — HTTP or browser, datacenter or residential, country, CAPTCHA handling — paying only for successful responses.
- You want structured data without writing selectors: AI extraction of products, articles and job postings, search results, or fields described in plain words, from the same API.
- You build on Scrapy: scrapy-zyte-api, Scrapy Cloud to host and schedule spiders, and agent plugins that write Scrapy projects.
- You need a browser for a few minutes on a hard site and want proxies, fingerprint and CAPTCHA handling bundled with it — a short CDP session costs about one rendered request per 15 seconds.
Pick cdpfleet if…
- Sessions last longer than an hour, or run for hours a day: flat-priced threads instead of 240 units an hour at the target site's tier, and no
ttlto manage. - You want a browser you drive without a business-verification form, from Node.js, Python, Java, C# or Go.
- The site must see a specific real browser or version — Chrome channels, Edge, Brave, Firefox, WebKit, Camoufox — or a browser that isn't headless.
- You bring your own proxies, free of traffic charges, or want residential traffic from $0.50/GB.
- You want to watch or take over a session, record it, keep persistent profiles, or share a live tab.
- 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
- Zyte pricing
- Zyte API pricing (docs: plans, commitments, add-on costs)
- CDP headless browser (docs)
- Headless Browser (product page and FAQ)
- Browser automation: browser HTML, actions, network capture
- Shared features: geolocation, IP type, sessions, permissions
- API reference (screenshot, viewport, geolocation fields)
- Rate limits
- Business verification
- Automatic extraction
- Proxy mode
- Scrapy Cloud pricing
- scrapy-zyte-api
- Zyte MCP
- Skills and plugins