BROWSER

Playwright, Puppeteer, Selenium

Connect automation frameworks to Remote Browser's stealth infrastructure through a CDP websocket URL. All session options can be passed as query parameters.

Playwright

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

const WSS_URL =
  "wss://brapi.remote-browser.dev/connect?apiKey=YOUR_API_KEY&profileName=Personal%20Profile&region=auto&timeout=5";

const browser = await chromium.connectOverCDP(WSS_URL);
const context = browser.contexts()[0] ?? await browser.newContext();
const page = context.pages()[0] ?? await context.newPage();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close();

Puppeteer

puppeteer.ts
import puppeteer from "puppeteer-core";

const WSS_URL =
  "wss://brapi.remote-browser.dev/connect?apiKey=YOUR_API_KEY&profileName=Personal%20Profile&region=auto&timeout=5";

const browser = await puppeteer.connect({
  browserWSEndpoint: WSS_URL
});
const [page] = await browser.pages();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close();

Selenium

Selenium's debugger address flow expects a local host and port. For remote CDP websocket sessions, use Playwright or Puppeteer directly, or bridge Selenium through a local CDP proxy in your own runtime.

Query parameters

  • apiKey authenticates the remote browser session.
  • profileName loads or creates a persistent browser profile.
  • region selects browser region, or auto.
  • timeout controls idle timeout in minutes.
Next stepProfiles