Skip to main content
Every browser includes stealth, proxies, live preview, and recording. Its CDP URL is a WebSocket endpoint for remotely controlling Chrome. Your code creates a cloud browser through the Browser Use Cloud API with client.browsers.create(). It then connects to the browser over CDP with connect_over_cdp(session.cdp_url) to browse the web, and stops it through the same API with client.browsers.stop(session.id). Your code creates a cloud browser through the Browser Use Cloud API with client.browsers.create(). It then connects to the browser over CDP with connect_over_cdp(session.cdp_url) to browse the web, and stops it through the same API with client.browsers.stop(session.id). Get an API key and export it:

Install the SDK

Skip this step if you use curl.

Launch and connect

The SDK and REST examples use API V4. Each SDK example creates a browser, connects over CDP, opens a page, and stops the managed browser in finally. Use its existing browser context so profile cookies and managed settings apply. No local browser download is needed for a remote CDP connection.
Disconnecting CDP, Playwright’s browser.close(), or client.close() does not stop the managed browser. Use client.browsers.stop(session.id) as above. With Puppeteer, use disconnect() to release the connection, then stop the managed browser through the API.
For a browser created with curl, run this after your automation finishes:
Selenium cannot connect to a remote WebSocket CDP URL; use Playwright or Puppeteer. Use the live preview while the browser is running, then stop it when you are done. Recording is off by default for API browsers. Set enable_recording=True / enableRecording: true when creating the browser if you need a recording. The video becomes available asynchronously after it stops; Zero Data Retention projects never record.

Label and find browsers

Attach up to 10 metadata labels when you create a browser. Keys are up to 100 characters and values up to 1,000.
Filter the browser list by label. key=value matches exactly, key matches any value, and repeated terms must all match (up to 10). Pass agentSessionId=<session-id> instead to list the browsers an agent session used.

Get downloaded files

Files the browser downloads are saved for you. List them, with download links that expire after 15 minutes:
Each file has path, size, lastModified, and url. Pages hold up to 100 files (limit, default 50); pass nextCursor as cursor while hasMore is true.

Playwright, Puppeteer, Selenium

Full connection guide and stop semantics.

Browser settings

Configure proxies, screen size, recording, and timeout.