Skip to main content

Module browserbase

Module browserbase 

Source
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§

BrowserbaseBackend
Cloud browser session against Browserbase, reused across fetches.
BrowserbaseConfig
Credentials and target project for BrowserbaseBackend::connect.