Quickstart

BrowserGen gives you real Chromium browsers over a REST API. This page takes you from an empty account to a driven browser session in five minutes.

1. Create an account and an API key

Sign up with your email address and verify it, then start the 7-day free trial from the billing page: one concurrent browser and the full API, nothing charged until the trial ends.

In the dashboard, open API keys and create a key. Keys look like brl-k-v7-... and are shown once at creation, so store yours in a secret manager or an environment variable.

2. Start a session

Every session is one dedicated Chromium browser. Create one with a single request:

terminal
curl -X POST https://api.browsergen.com/v8/web/sessions \
  -H "Authorization: Bearer brl-k-v7-YOUR-KEY" \
  -H "Content-Type: application/json" \
  -d '{"timeout": 900, "country": "us"}'

The API responds as soon as the browser is running:

response
{
  "status": "ok",
  "id": "9f2c1e0a",
  "connectUrl": "wss://api.browsergen.com/web/9f2c1e0a/cdp?token=wct_...",
  "liveViewUrl": "https://browsergen.com/dash/sessions/9f2c1e0a",
  "createdAt": "2026-07-09T09:30:00.000Z",
  "timeout": 900,
  "quota": { "concurrency_total": 5, "used": 1, "available": 4 }
}

Two fields matter most: connectUrl is a standard Chrome DevTools Protocol websocket for your automation tooling, and liveViewUrl opens the session in the dashboard where you can watch and control it in real time.

3. Connect with your framework

The connect URL works with anything that speaks CDP. With Playwright:

quickstart.ts
import { chromium } from "playwright";

const browser = await chromium.connectOverCDP(session.connectUrl);
const context = browser.contexts()[0];
const page = context.pages()[0];

await page.goto("https://news.ycombinator.com");
console.log(await page.title());

await browser.close();

Puppeteer users pass the same URL as browserWSEndpoint; see the Puppeteer guide.

4. Stop the session

Sessions end on their own when the timeout elapses or shortly after your last CDP client disconnects. To end one explicitly:

terminal
curl -X DELETE https://api.browsergen.com/v8/web/sessions/9f2c1e0a \
  -H "Authorization: Bearer brl-k-v7-YOUR-KEY"
Watching a run: keep the live view open next to your terminal during development. Seeing the page react to your script is the fastest way to debug selectors and waits.

Next steps