# cdpfleet > Real cloud browsers — Chrome, Edge, Brave, Opera, Whale, Yandex, Chromium, Patchright, Rebrowser, Camoufox, Firefox and WebKit — launched over HTTP and driven with Playwright, Puppeteer or CDP, with proxies, residential IPs, live view, recordings and persistent profiles. AI agents: start with the skill page; it has the launch flow, the browser table, limits and errors in one place. - [Skill for AI agents](https://cdpfleet.com/skill.md): everything an agent needs to use cdpfleet from code - [MCP server](https://cdpfleet.com/docs/mcp): remote MCP at https://cdpfleet.com/mcp (OAuth), or npx cdpfleet-mcp ## Docs - [Quickstart](https://cdpfleet.com/docs/quickstart): launch a browser and drive it with Playwright in five languages - [Code builder](https://cdpfleet.com/docs/builder): a working program for any browser and options - [Browsers](https://cdpfleet.com/docs/browsers): every browser, its versions, channels and options - [Sessions & billing](https://cdpfleet.com/docs/sessions): threads, weights, minutes, timeouts - [Proxies](https://cdpfleet.com/docs/proxies): own proxies, proxy_rules, live swap, the residential proxy and its tiers - [Errors & limits](https://cdpfleet.com/docs/errors): every error code and what to do - [CDP & Puppeteer](https://cdpfleet.com/docs/cdp): cdpUrl, connectOverCDP, raw CDP - [Connect URL](https://cdpfleet.com/docs/connect): one wss:// URL that launches and connects (Playwright, Playwright Test, CDP) - [Live view](https://cdpfleet.com/docs/live-view): watch or control a session; Launch interactive and start_url - [Persistent profiles](https://cdpfleet.com/docs/profiles): keep logins and storage across sessions - [Session recording](https://cdpfleet.com/docs/recordings): video of every session - [SDKs](https://cdpfleet.com/docs/sdk): Node, Python and Go packages - [MCP server](https://cdpfleet.com/docs/mcp): hosted at cdpfleet.com/mcp, or npx cdpfleet-mcp - [MCP setup](https://cdpfleet.com/docs/mcp/setup): per-app instructions - [Account API](https://cdpfleet.com/docs/api): /v1/me endpoints: usage, sessions, balance, proxies - [Plans & pricing](https://cdpfleet.com/docs/pricing): Community, shared and dedicated plans - [Examples](https://cdpfleet.com/docs/examples): recipes for common configurations ## Browsers - [Google Chrome](https://cdpfleet.com/docs/browsers/chrome) - [Microsoft Edge](https://cdpfleet.com/docs/browsers/edge) - [Brave](https://cdpfleet.com/docs/browsers/brave) - [Opera](https://cdpfleet.com/docs/browsers/opera) - [Naver Whale](https://cdpfleet.com/docs/browsers/whale) - [Yandex Browser](https://cdpfleet.com/docs/browsers/yandex) - [Chromium](https://cdpfleet.com/docs/browsers/chromium) - [Patchright](https://cdpfleet.com/docs/browsers/patchright) - [Rebrowser](https://cdpfleet.com/docs/browsers/rebrowser) - [Camoufox](https://cdpfleet.com/docs/browsers/camoufox) - [Firefox](https://cdpfleet.com/docs/browsers/firefox) - [WebKit](https://cdpfleet.com/docs/browsers/webkit) ## Cases - [What your browser says before it says anything: TLS and HTTP/2 fingerprints](https://cdpfleet.com/docs/cases/tls-fingerprints) - [Emulating an iPhone on real Chrome: what changes, and what gives you away](https://cdpfleet.com/docs/cases/mobile-emulation) - [Stable, beta, dev and an older major: four Chromes side by side](https://cdpfleet.com/docs/cases/chrome-versions) - [A German Windows persona with Camoufox — and the one setting that broke it](https://cdpfleet.com/docs/cases/camoufox-persona) - [Three Chromium builds against common bot checks, headless and headful](https://cdpfleet.com/docs/cases/stealth-builds) - [Swap a proxy mid-session without losing the login — and the keep-alive trap](https://cdpfleet.com/docs/cases/live-proxy-swap) - [Different sites, different proxies, one browser: proxy_rules](https://cdpfleet.com/docs/cases/per-host-proxy-rules) - [A bandwidth diet for residential proxies: what blocking really saves](https://cdpfleet.com/docs/cases/bandwidth-diet) - [Setting a header the wrong way: header order as a fingerprint](https://cdpfleet.com/docs/cases/headers-and-h2) - [A thread-aware worker pool: one session per page vs. reusing sessions](https://cdpfleet.com/docs/cases/worker-pool) - [Log in once, stay logged in: carrying a session between browsers](https://cdpfleet.com/docs/cases/persist-login) - [Files across the wire: uploading to and downloading from a remote browser](https://cdpfleet.com/docs/cases/files-up-and-down) - [Real-time sites through a proxy: WebSocket latency by proxy](https://cdpfleet.com/docs/cases/websockets-through-proxies) - [What your proxy costs you in page speed](https://cdpfleet.com/docs/cases/proxy-speed) - [Three countries, one script — and reading values the way the site does](https://cdpfleet.com/docs/cases/three-countries) - [What headless gives away, what headful fixes, and what neither does](https://cdpfleet.com/docs/cases/headless-tells) - [Infinite scroll, two ways: scroll like a user, or call the JSON the page calls](https://cdpfleet.com/docs/cases/infinite-scroll) - [Session replay without a vendor: Playwright tracing and video on a remote browser](https://cdpfleet.com/docs/cases/trace-and-video) - [Fetch first, browser second: paying for JavaScript only when the page needs it](https://cdpfleet.com/docs/cases/fetch-first) - [Three visitors, one thread: browser contexts instead of sessions](https://cdpfleet.com/docs/cases/contexts-not-sessions) - [Four ways to make a request, four different visitors: goto, in-page fetch, page.request and your own client](https://cdpfleet.com/docs/cases/proxy-paths) - [Check every link on a page: 73 links in seconds, from inside the browser](https://cdpfleet.com/docs/cases/link-checker) - [Download every image on a page without downloading it twice](https://cdpfleet.com/docs/cases/image-download) - [New tabs, window.open and the three blocking dialogs: everything that interrupts a script](https://cdpfleet.com/docs/cases/popups-and-dialogs) - [No proxy of your own: rotating, country and sticky residential IPs with one token](https://cdpfleet.com/docs/cases/residential-without-a-proxy) - [Same Chrome, two doors: Playwright's protocol (wsUrl) or CDP (cdpUrl)](https://cdpfleet.com/docs/cases/playwright-vs-cdp) - [Watch it live: streaming a remote browser to your code, frame by frame](https://cdpfleet.com/docs/cases/live-view) - [Scrape a catalogue page by page: structured data from rendered HTML](https://cdpfleet.com/docs/cases/structured-extraction) - [Visual capture: full-page screenshot, element crop and PDF in one session](https://cdpfleet.com/docs/cases/screenshot-and-pdf) - [Five pages at once: parallel tabs in one browser session](https://cdpfleet.com/docs/cases/parallel-pages) - [Content you can't querySelector: iframes and shadow DOM](https://cdpfleet.com/docs/cases/iframes-and-shadow-dom) - [A page for an LLM: HTML, innerText or the accessibility snapshot?](https://cdpfleet.com/docs/cases/page-to-text-for-llms) - [When is a page ready? commit, domcontentloaded, load, networkidle or a selector](https://cdpfleet.com/docs/cases/wait-strategies) - [Record a page once, replay it offline: HAR files with a remote browser](https://cdpfleet.com/docs/cases/har-record-and-replay) - [A German IP with a UTC clock: making location, timezone and permissions agree](https://cdpfleet.com/docs/cases/geolocation-and-permissions) - [Slow 3G on a remote browser: network throttling over a CDP session](https://cdpfleet.com/docs/cases/slow-network) - [Cookie banners by country: the same five sites from Germany and from the US](https://cdpfleet.com/docs/cases/cookie-consent-by-country) - [Logging in through a TOTP two-factor prompt from a remote browser](https://cdpfleet.com/docs/cases/totp-login) - [Saved the login, still logged out: storageState and IndexedDB](https://cdpfleet.com/docs/cases/indexeddb-login-state) - [Persistent profiles: what a saved browser profile keeps, and what it doesn't](https://cdpfleet.com/docs/cases/persistent-profiles) - [A scrape broke: find out why from its session recording](https://cdpfleet.com/docs/cases/replay-a-failed-run) - [Puppeteer on real Google Chrome: cdpUrl, raw CDP and request interception](https://cdpfleet.com/docs/cases/puppeteer-on-real-chrome) - [Can a page tell your automation client is listening? CDP and the console](https://cdpfleet.com/docs/cases/cdp-detectability) - [Print to PDF across browsers: which engines can, and the fallback for the rest](https://cdpfleet.com/docs/cases/print-to-pdf) - [Clipboard and file permissions on remote browsers: what's blocked and what works](https://cdpfleet.com/docs/cases/clipboard-and-files) - [Browser extensions aren't supported — what to use instead](https://cdpfleet.com/docs/cases/no-extensions) - [A first free scrape on the Community plan: no proxy to bring, country and sticky exits included](https://cdpfleet.com/docs/cases/community-first-scrape) - [Mock, patch and fail API responses with route.fulfill on remote browsers](https://cdpfleet.com/docs/cases/mock-api-responses) - [The same Camoufox device across relaunches: what a persistent profile keeps, and what it doesn't](https://cdpfleet.com/docs/cases/camoufox-same-device) - [A price watcher in one program: two snapshots minutes apart, diffed, billed only while reading](https://cdpfleet.com/docs/cases/price-watch) - [Cut residential spend: the page on Tier 1, the images on Tier 4, in one session](https://cdpfleet.com/docs/cases/resi-tiers-mix) - [Installed fonts as a fingerprint: what a width probe sees on each Camoufox persona](https://cdpfleet.com/docs/cases/fonts-fingerprint) - [Surviving a soft block: honour Retry-After, then move to another exit without losing the login](https://cdpfleet.com/docs/cases/soft-block-backoff) - [The WebRTC IP leak test behind a proxy: what Chromium, Chrome, Firefox and Camoufox reveal](https://cdpfleet.com/docs/cases/webrtc-ip-leak) - [Core Web Vitals from a remote browser: LCP, CLS and TTFB in lab runs](https://cdpfleet.com/docs/cases/core-web-vitals-via-cdp) - [A slow phone on a fast server: CPU throttling over a CDP session](https://cdpfleet.com/docs/cases/cpu-throttling-via-cdp) - [Inspect and edit the cookie jar of a remote browser — and why WebKit refuses cookies on httpbin.org](https://cdpfleet.com/docs/cases/inspect-and-edit-the-cookie-jar) - [Do it by hand in live view, then let your code finish in the same browser](https://cdpfleet.com/docs/cases/launch-interactive-to-code) - [Block analytics and beacons, keep the page: what telemetry a scraper sends without knowing](https://cdpfleet.com/docs/cases/intercept-and-block-telemetry) - [A multi-step checkout end to end: wait for each step, and check what you typed](https://cdpfleet.com/docs/cases/fill-a-multi-step-form) - [Borrow the page's token and read its paginated API directly](https://cdpfleet.com/docs/cases/scrape-a-paginated-json-api-with-a-token) ## Optional - [cdpfleet vs Browserbase](https://cdpfleet.com/docs/compare/cdpfleet-vs-browserbase) - [cdpfleet vs Browserless](https://cdpfleet.com/docs/compare/cdpfleet-vs-browserless) - [cdpfleet vs Steel](https://cdpfleet.com/docs/compare/cdpfleet-vs-steel) - [cdpfleet vs Browser Use Cloud](https://cdpfleet.com/docs/compare/cdpfleet-vs-browser-use) - [cdpfleet vs Hyperbrowser](https://cdpfleet.com/docs/compare/cdpfleet-vs-hyperbrowser) - [cdpfleet vs Cloudflare Browser Run (Browser Rendering)](https://cdpfleet.com/docs/compare/cdpfleet-vs-cloudflare-browser-run) - [cdpfleet vs Anchor Browser](https://cdpfleet.com/docs/compare/cdpfleet-vs-anchor-browser) - [cdpfleet vs Kernel](https://cdpfleet.com/docs/compare/cdpfleet-vs-kernel) - [cdpfleet vs ZenRows](https://cdpfleet.com/docs/compare/cdpfleet-vs-zenrows) - [cdpfleet vs Apify](https://cdpfleet.com/docs/compare/cdpfleet-vs-apify) - [cdpfleet vs Airtop](https://cdpfleet.com/docs/compare/cdpfleet-vs-airtop) - [cdpfleet vs Notte](https://cdpfleet.com/docs/compare/cdpfleet-vs-notte) - [cdpfleet vs Bright Data Browser API](https://cdpfleet.com/docs/compare/cdpfleet-vs-bright-data) - [cdpfleet vs Oxylabs Agent Browser](https://cdpfleet.com/docs/compare/cdpfleet-vs-oxylabs) - [Camoufox 152 vs Camoufox 150](https://cdpfleet.com/docs/compare/camoufox-152-vs-150) - [Camoufox vs Patchright](https://cdpfleet.com/docs/compare/camoufox-vs-patchright) - [Chrome 154 vs Chrome 153](https://cdpfleet.com/docs/compare/chrome-154-vs-153) - [Chrome 155 vs Chrome 154](https://cdpfleet.com/docs/compare/chrome-155-vs-154) - [Chrome 156 (beta) vs Chrome 154](https://cdpfleet.com/docs/compare/chrome-156-beta-vs-154) - [Chrome vs Brave](https://cdpfleet.com/docs/compare/chrome-vs-brave) - [Chrome vs Chromium](https://cdpfleet.com/docs/compare/chrome-vs-chromium) - [Chrome vs Edge](https://cdpfleet.com/docs/compare/chrome-vs-edge) - [CloakBrowser vs Patchright](https://cdpfleet.com/docs/compare/cloakbrowser-vs-patchright) - [Edge 156 (beta) vs Edge 155](https://cdpfleet.com/docs/compare/edge-156-beta-vs-155) - [Edge vs Brave](https://cdpfleet.com/docs/compare/edge-vs-brave) - [Firefox vs Camoufox](https://cdpfleet.com/docs/compare/firefox-vs-camoufox) - [Opera vs Chrome](https://cdpfleet.com/docs/compare/opera-vs-chrome) - [Patchright vs Rebrowser](https://cdpfleet.com/docs/compare/patchright-vs-rebrowser) - [WebKit vs Chromium](https://cdpfleet.com/docs/compare/webkit-vs-chromium) - [Naver Whale vs Chrome](https://cdpfleet.com/docs/compare/whale-vs-chrome) - [Updates](https://cdpfleet.com/docs/updates): browser releases and product news - [Source and examples](https://github.com/cdpfleet/cdpfleet)