cdpfleet Pre-launch Get early access

cdpfleet / Browsers

Browsers

Every browser flavor. Every channel.

12 desktop browsers on one fleet — the real Google Chrome, Edge, Brave, Opera, Whale and Yandex, Playwright's Chromium, Firefox and WebKit, and three stealth builds. Pick one per launch; drive it with Playwright from five languages or over CDP.

  • 12desktop browsers
  • 3engines: Chromium, Gecko, WebKit
  • 3stealth builds
  • 6with CDP

Chromium family

Google Chrome

Official Google build

stable155.0.8059.84beta157.0.8103.6dev158.0.8106.0pinned154.0.8037.97pinned153.0.8010.36
Google Chrome →

Microsoft Edge

Official Microsoft build

stable155.0.4283.62beta156.0.4314.30dev157.0.4329.0
Microsoft Edge →

Brave

Privacy-focused Chromium

stable1.97.59beta1.98.47
Brave →

Opera

Chromium-based

stable137.0.6036.63developer139.0.6051.0
Opera →

Firefox family

Camoufox

Based on Firefox source; not affiliated with Mozilla

stable152.0.4pinned150
Camoufox →

Firefox

Based on Firefox source; not affiliated with Mozilla

build150.0.2
Firefox →

WebKit

Channels and versions

  • Without a channel you get the stable build. Chrome and Edge also run beta and dev, Brave beta, Opera its developer channel.
  • Pin a previous major with {"version": "…"} on Chrome and Camoufox to reproduce or compare behaviour; previous majors rotate as new versions ship.
  • The fleet updates itself. Every new major gets a post on /docs/updates with what changed for automation, measured on the fleet.
Google Chrome, beta channel
// npm install [email protected]
// Browsers run on cdpfleet, so no `npx playwright install` is needed.
import { chromium } from 'playwright';

const KEY = process.env.CDPFLEET_API_KEY;

// 1. Launch the browser
const res = await fetch('https://starter.cdpfleet.com/chrome/session', {
  method: 'POST',
  headers: { 'x-api-key': KEY, 'content-type': 'application/json' },
  body: JSON.stringify({
    proxy: 'http://user:[email protected]:8080',
    channel: 'beta',
    headless: 'new',
  }),
});
if (!res.ok) throw new Error(`launch failed: ${res.status} ${await res.text()}`);
const { wsUrl } = await res.json();

// 2. Connect and drive it
const browser = await chromium.connect(wsUrl, { headers: { 'x-api-key': KEY } });
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close(); // ends the session and stops billing

Stealth builds

Camoufox

Based on Firefox source; not affiliated with Mozilla

Camoufox →

Real browsers are headful by default and send their own genuine fingerprints; the stealth builds go further for sites that score automation. See the headless tells case.

Playwright or CDP

  • Playwright: chromium/firefox/webkit.connect(wsUrl) with the client of the same minor version — 1.60 (1.52 for Rebrowser) — from Node.js, Python, Java, C# or Go.
  • CDP: launch Google Chrome, Microsoft Edge, Brave, Opera, Yandex Browser, Chromium with "cdp": true and connect Puppeteer, connectOverCDP or any CDP client to cdpUrl.
  • Persistent profiles on Google Chrome, Microsoft Edge, Brave, Opera, Yandex Browser, Chromium, Patchright, Camoufox, Firefox, WebKit.
  • A headless browser takes 1 thread, a headful one 2.