Skip to main content

Authentication

All requests require an API key in the X-Browser-Use-API-Key header:
Get a key at cloud.browser-use.com/settings. Keys start with bu_.

Base URL

See Thinking levels for V4 modelParams, provider-native reasoning values, and BYOK behavior.

The core loop

Create a run, poll its status until terminal, then fetch the full result. status is a cheap indexed lookup — poll it, not the full run.
Create a run
Poll status until completed | failed | cancelled (replace RUN_ID)
Fetch the full run once it's terminal

Sessions and follow-ups

A run belongs to a session (a conversation). Send a follow-up message to a session’s queue — it runs as the next turn, or immediately with interrupt: true:
Queue a follow-up (replace SESSION_ID)

Direct browser control

Use the browser endpoints when your code will control Chrome over CDP instead of asking a hosted agent to do the work:
  1. POST /browsers creates a browser and returns its id and cdpUrl.
  2. Use cdpUrl with a local Browser Use agent (Browser(cdp_url=...)), Browser Use CLI (BU_CDP_URL), Playwright, Puppeteer, or Selenium.
  3. PATCH /browsers/{id} with {"action":"stop"} stops the browser.
See remote Browser Use, Browser Use CLI, or Playwright, Puppeteer, Selenium for complete connection examples.

SDKs

The Cloud SDK quick start wraps this loop — runs.create() then runs.waitForCompletion() / runs.wait_for_completion() — for TypeScript and Python.