Expand description
Browserbase cloud backend.
Creates a remote browser session via the Browserbase REST API and drives it through the CDP WebSocket the service returns. Pays per session-minute (see Browserbase pricing); the pool comes with a residential / mobile IP and anti-fingerprint baked in.
§Why a raw CDP client and not chromiumoxide / headless_chrome
Both maintained Rust CDP libraries assume the target-attach semantics
of a locally launched Chrome (which auto-emits Target.attachedToTarget
immediately after Target.createTarget) and deadlock against
Browserbase, whose remote browser is quieter on that front. Issue #5
has the full diagnosis. Instead we drive CDP directly through our
CdpClient and request the attach explicitly
via Target.attachToTarget with flatten: true.
§Session lifecycle
One Browserbase session is opened per backend instance and reused
across every fetch — keeps cost low and the egress IP stable across a
scan. Each fetch creates a fresh target, navigates it, reads
document.documentElement.outerHTML, and closes the target.
Structs§
- Browserbase
Backend - Cloud browser session against Browserbase, reused across fetches.
- Browserbase
Config - Credentials and target project for
BrowserbaseBackend::connect.