cdpfleet Docs GitHub Dashboard

cdpfleet documentation

cdpfleet runs real browsers for you. One HTTPS call launches a browser and returns a WebSocket URL; you connect to it with Playwright from Node.js, Python, Java, C# or Go and drive it like a local browser.

How it works

  1. Launch. POST https://starter.cdpfleet.com/<browser>/session with your API key and launch options — including your proxy, which every session requires. You get back { sessionId, wsUrl }.
  2. Connect. Open wsUrl with Playwright's connect() for the browser's family (chromium, firefox or webkit), sending your API key again.
  3. Drive. Create pages, navigate, intercept requests, take screenshots — anything Playwright does.
  4. Close. browser.close() ends the session immediately and stops billing.
Playwright protocol, not raw CDP. Desktop sessions speak Playwright's own protocol, so use browserType.connect(wsUrl). connectOverCDP() and Puppeteer don't work against them. Use a Playwright client of the same minor version as the server — 1.60 (1.52 for Rebrowser). Every example on this site pins the right version.

Start here

Authentication

Every request carries your API key (cdpf_…) in the x-api-key header. Create and revoke keys in the dashboard. Connect to a session with the same key that launched it: send it as the x-api-key header of connect(), as the examples do, or append ?api_key=… to wsUrl if your client can't set headers.

Keep keys out of source code — the examples read CDPFLEET_API_KEY from the environment.