BROWSER USE

- Browser Use Agents: give Browser Use a task and receive completed work. API V4 is current for new integrations.
- Browser Infrastructure: connect your agent or automation to managed browsers through SDK, REST, or CDP. Starts at $0.02/browser-hour.
- Developer tools: Open Source, Browser Harness, SDK, and MCP support the two products above.

[Developer Index](https://browser-use.com/index.md)
[Product Map](https://browser-use.com/llms.txt)
[Full Product Context](https://browser-use.com/llms-full.txt)
[Pricing](https://browser-use.com/pricing.md)
[Cloud Docs](https://docs.browser-use.com/cloud/quickstart)
[Open Source Docs](https://docs.browser-use.com/open-source/introduction)

---

# What is a Browser Use Cloud browser? Cloud Chromium for AI agents

> A Browser Use Cloud browser is a real Chromium browser running on Browser Use's servers. You create one with a single API call, drive it over the Chrome DevTools Protocol (CDP) with Playwright, Puppeteer, Stagehand or the browser-use agent, watch it live, and stop it when you are done. Stealth, CAPTCHA solving, residential proxies, saved logins and recordings are built in, at $0.02 per browser-hour with no subscription.

[HTML page](https://browser-use.com/cloud-browser) · [Docs](https://docs.browser-use.com/cloud/browser/quickstart) · [API reference](https://docs.browser-use.com/cloud/api-v4/browsers/create-browser-session) · [Pricing](https://browser-use.com/pricing.md) · [Browserbase pricing compared](https://browser-use.com/browserbase-pricing.md)

## How a session works

1. **Create.** `POST https://api.browser-use.com/api/v4/browsers` with header `X-Browser-Use-API-Key`, or `client.browsers.create()` with `browser-use-sdk` (Python: `from browser_use_sdk.v4 import BrowserUse`; TypeScript: `import { BrowserUse } from "browser-use-sdk/v4"`; both read `BROWSER_USE_API_KEY`). Optional body fields: `proxyCountryCode` (default `us`, `null` for none), `profileId`, `enableRecording`, `customProxy`, `solveCaptchas`, `browserScreenWidth`, `browserScreenHeight`, `timeout` (1 to 240 minutes, default 60). The response carries `id`, `cdpUrl` and `liveUrl`.
2. **Connect.** Pass `cdpUrl` to any CDP client. Playwright: `chromium.connect_over_cdp(cdp_url)` / `chromium.connectOverCDP(cdpUrl)`. Puppeteer: `puppeteer.connect({ browserWSEndpoint: cdpUrl })`. Stagehand v3: `new Stagehand({ env: "LOCAL", localBrowserLaunchOptions: { cdpUrl } })`. The browser-use agent: `Browser(use_cloud=True)` creates and stops the cloud browser for you, or `Browser(cdp_url=cdpUrl)` attaches to one you created.
3. **Watch.** Open or embed `liveUrl` (on `live.browser-use.com`) to see the browser and take over a login or CAPTCHA by hand. Anyone with the URL can interact with the browser, so treat it as a credential. With `enableRecording`, an MP4 is ready once processing finishes after the browser stops; poll `GET /api/v4/browsers/{id}` for `recordingUrl` (a session with nothing rendered may have none) ([live preview docs](https://docs.browser-use.com/cloud/browser/live-preview)).
4. **Stop.** `client.browsers.stop(id)`, or `PATCH /api/v4/browsers/{id}` with `{"action":"stop"}`. Closing the CDP connection does not stop the browser or its billing; the timeout does, if you forget.

```python
from browser_use_sdk.v4 import BrowserUse
from playwright.sync_api import sync_playwright

with BrowserUse() as client, sync_playwright() as p:
    session = client.browsers.create(proxy_country_code="us")
    print(session.live_url)  # watch it, or take over
    try:
        browser = p.chromium.connect_over_cdp(session.cdp_url)
        page = browser.contexts[0].pages[0]
        page.goto("https://example.com")
    finally:
        client.browsers.stop(session.id)  # closing CDP does not stop it
```

```ts
// Stagehand v3 on a Browser Use Cloud browser
import { Stagehand } from "@browserbasehq/stagehand";
import { BrowserUse } from "browser-use-sdk/v4";

const client = new BrowserUse();
const session = await client.browsers.create();
try {
  const stagehand = new Stagehand({ env: "LOCAL", localBrowserLaunchOptions: { cdpUrl: session.cdpUrl! } });
  try {
    await stagehand.init();
    await stagehand.context.pages()[0].goto("https://example.com");
  } finally {
    await stagehand.close();
  }
} finally {
  await client.browsers.stop(session.id); // runs even if Stagehand throws
}
```

## What is inside every browser

- **API:** `https://api.browser-use.com/api/v4` (`POST /browsers`, `PATCH /browsers/{id}`), SDKs for Python and TypeScript (`browser-use-sdk`).
- **Protocol:** Chrome DevTools Protocol over WebSocket. Playwright, Puppeteer, Stagehand v3, browser-use or any CDP client.
- **Live view:** a `liveUrl` for every browser: watch, take over, or embed in an iframe.
- **Recording:** MP4 with `enableRecording`, off by default; `recordingUrl` appears on `GET /api/v4/browsers/{id}` once processing finishes after stop.
- **Profiles:** cookies, localStorage and logins persist across browsers with `profileId`.
- **Proxies:** residential in 195+ countries at $5/GB, US by default, picked per browser; `customProxy` for your own. Direct and bring-your-own-proxy traffic is $0.20/GB.
- **Stealth and CAPTCHAs:** our own hardened Chromium build with fingerprints randomized per session; automatic CAPTCHA solving on by default.
- **Session length:** 1 to 240 minutes, 60 by default.
- **Concurrency:** 10 on a new project, up to 1,000 by total paid, more on enterprise ([usage tiers](https://browser-use.com/pricing#usage-tiers)).
- **Price:** $0.02 per browser-hour, no subscription, credits never expire. Eligible new signups get a one-time $1 credit.

## Production

- SOC 2 Type II, audited for July 17 to October 17, 2025 ([SOC 2](https://browser-use.com/security/soc2)). A fresh, isolated browser for every session. HIPAA support and zero data retention on enterprise plans ([security](https://browser-use.com/security.md)).
- Concurrency from 10 to 1,000 browsers per project by total paid, more on enterprise terms.
- Session lifecycle (create, connect over CDP, load a page, release): 493 ms median on [BrowserArena](https://www.browserarena.ai/?percentile=median&sort=latency&date=2026-10-14) (October 14, 2026 run); 95.2 on the [ComputeSDK lifecycle score](https://www.computesdk.com/benchmarks/browsers/lifecycle) (October 9, 2026 run).
- Stealth Bench V2 (100 bot-protected sites): got through on 90.5% of visits, the best of every provider tested; next was Anchor at 82%, Browserbase 78.5% ([method, code and raw results](https://browser-use.com/benchmarks/browsers)). The 100 sites were picked because Browser Use Cloud historically got through where stock Chrome with a US proxy did not. They are hard on purpose and not a balanced sample of the web or of anti-bot vendors.

## Tradeoffs

- Chromium only, no Firefox or WebKit.
- Selenium cannot attach: its `debugger_address` only accepts a local host and port. Use Playwright or Puppeteer.
- Recordings are MP4 video, off by default, with no DOM replay.
- One browser runs at most 4 hours.
- Stagehand v4's `localBrowser.connect()` looks for its own browser extension and failed to connect in our test of 4.2.1; Stagehand v3 connects. Stagehand's server-side caching and Model Gateway only run on Browserbase.
- Not the fastest to start: on BrowserArena, Tilion and Kernel create sessions faster.

## FAQ

**What is a cloud browser?** A real browser that runs on someone else's servers and that your code or agent controls remotely, usually over the Chrome DevTools Protocol.

**How is it different from running Playwright locally?** Your script logic stays the same. Create the browser through the API, replace `chromium.launch()` with `chromium.connectOverCDP(cdpUrl)`, and stop it with `client.browsers.stop(id)` in a `finally` block: `browser.close()` only disconnects and does not stop billing. The browser runs on our servers with stealth, residential proxies and CAPTCHA solving, and you can run many at once without managing machines.

**Does it work with Stagehand?** Stagehand v3, yes, with `env: "LOCAL"` and `localBrowserLaunchOptions.cdpUrl`. Stagehand v4 needs its own browser extension.

**Can I watch or take over the browser?** Yes, through `liveUrl`. Set `enableRecording` for an MP4; poll `GET /api/v4/browsers/{id}` for `recordingUrl` after the browser stops.

**How many can I run at once, and what does it cost?** $0.02 per browser-hour, plus $5/GB of residential proxy traffic or $0.20/GB direct or bring-your-own-proxy traffic, no subscription. 10 at once on a new project, rising with total paid up to 1,000.
