Documentation

Overview

BrowserView gives you disposable cloud Chromium sessions with two ways in: a Chrome DevTools Protocol endpoint for agents and a live viewer for humans. Same browser, same moment.

Concepts

  • Session — one Chromium instance in its own container on its own private network. Created in about five seconds, destroyed on request or automatically when idle or expired.
  • API key — a bv_live_… secret minted in the console. It authenticates lifecycle calls (create, list, destroy) and never needs to reach a browser or an end user.
  • Session tokens — short-lived signed tokens scoped to a single session: view (watch only — input is stripped server-side), control (watch + mouse/keyboard), and cdp (DevTools access). Leaking one exposes one session for a bounded time, not your account.

Quickstart

1. Create an account and mint an API key in the console.

2. Create a session:

Terminal
curl -X POST https://sessions.browserview.io/sessions \  -H "Authorization: Bearer $BROWSERVIEW_API_KEY" \  -H "Content-Type: application/json" \  -d '{"start_url": "https://example.com"}'

The response includes everything you need — no second call required:

Response
{  "id": "3f9c62d81b4a",  "status": "running",  "health": "healthy",  "viewer_url": "/sessions/3f9c62d81b4a/viewer?token=<control token>",  "watch_url":  "/sessions/3f9c62d81b4a/viewer?token=<view-only token>",  "cdp_url":    "/sessions/3f9c62d81b4a/cdp",  "cdp_token":  "<cdp token>",  "token_ttl_seconds": 3600}

3. Open viewer_url (relative to https://sessions.browserview.io) in a browser tab to watch, and connect your agent to the same session:

agent.ts
import { chromium } from "playwright"; const browser = await chromium.connectOverCDP(  "https://sessions.browserview.io" + session.cdp_url,  { headers: { "x-session-token": session.cdp_token } },);const page = browser.contexts()[0].pages()[0];await page.goto("https://news.ycombinator.com");

4. Destroy the session when you are done (or let idle reaping do it):

Terminal
curl -X DELETE https://sessions.browserview.io/sessions/3f9c62d81b4a \  -H "Authorization: Bearer $BROWSERVIEW_API_KEY"

Session lifecycle

EventWhat happens
CreatePOST /sessions returns once the browser answers on DevTools (about 5 seconds). Pass "wait": false to return immediately and poll.
IdleSessions with no viewer or CDP connection for 15 minutes are destroyed automatically.
LifetimeSessions are hard-capped at 4 hours regardless of activity.
DestroyThe container, its network, and all browsing data are deleted. Nothing persists between sessions.

Where next

  • API reference — every endpoint, token scopes, errors, and rate limits.
  • SDKs — TypeScript, Python, and Go clients.
  • MCP server — give any MCP-capable agent session management tools.
  • Agent integrations — patterns for Anthropic, OpenAI, and other agent stacks.