Browser (CDP)
When an agent needs full page automation, hand the sandbox's Chromium to Playwright or Puppeteer. The daemon supplies the CDP endpoint, and the client connects to and drives the same browser instance.
Routes:
GET /v2/browser/info
GET /v1/browser/info
For automation without a framework — navigate, snapshot, fill, click, screenshot over REST — see Browser Use.
Requirements
The capabilities object from GET /v2/sandbox should include browser.
GET /v1/capabilities should report browser.
A Chromium started with --remote-debugging-port=9222 must be reachable from the daemon. The daemon connects to it as a CDP client; it does not launch or proxy it.
Get the CDP URL
cdp_url is Chromium's WebSocket endpoint rewritten to the public origin:
The path lives under /cdp/, which the deployment serves, not the daemon. See CDP Access. Which SDK calls fail against the daemon is listed in 1.x SDK compatibility.
Connect with Playwright
Pass cdp_url to connect_over_cdp:
Playwright keeps the /cdp/ prefix and any query string, so cdp_url works unmodified. Take the existing context and page rather than launching one: the browser belongs to the sandbox and is shared with the daemon's own REST tools.
Connect with Puppeteer
Use browserWSEndpoint. Puppeteer's browserURL drops the path prefix:
Related
- Browser Use — the same Chromium driven by REST calls alone
- Browser API — the full REST tool list, MCP tools, and SDK notes
- CDP Access — how a deployment exposes
/cdp/* - Migration: Removed routes — the page automation routes CDP replaces