Skip to main content
1

Get an API key

Sign in to the dashboard, open Settings → API keys, create a key. Put it in your environment as DRIVER_API_KEY. Don’t commit it.
2

Install Patchright

Patchright is Playwright with the CDP fingerprints removed. Use it instead of stock Playwright or sites that watch for automation will block the session. Details in Why Patchright.
No playwright install, no browser download. Driver provides the browser.The TypeScript examples use top-level await and the global fetch: Node 18+, in an ES module ("type": "module" in package.json, or a .mts file), run with npx tsx file.ts. Python examples need 3.8+.
3

Create a session, connect, stop

4

Watch it run

Every session has a page under Telemetry → Sessions in the dashboard: live view while it runs, then the record (node, country, bandwidth, cost). See Live view. From the API, GET /v1/browser/session?sessionId=… shows status completed, stoppedAt, and bandwidthBytes once it’s done.

What happened

The create call returned once Chrome was reachable over CDP, a few seconds in. It waits up to 20 s (three minutes on some machines), then answers 504. cdpUrl is a WebSocket endpoint to that one browser. connectOverCDP attaches to it, which is why there’s no chromium.launch() and nothing to download. The browser came up with one context and one tab. Reusing them looks like a person who opened Chrome and started browsing. Creating extra contexts is one of the things sites notice. Stopping the session releases the machine and closes the bill. Sessions also stop on their own at duration, an hour by default.

Next