BrowserGateway is an intelligent router for cloud browsers. Route Puppeteer, Playwright, Stagehand, browser-use, and any MCP client across Browserless, Steel, Browserbase, Lightpanda, or your own Chrome. Best of all worlds, freedom, and flexibility at scale.
Free BYOK routing up to 10,000 sessions per month on cloud. Or self-host.
Or self-host the open source
$npm install -g browser-gateway
Four products, one stack. Ship the OSS gateway and the browserserve runtime today. Move to the cloud when you want the infrastructure off your plate.
One endpoint that routes across every browser provider. Automatic failover, persistent profiles, session replay, MCP server.
Read the docsEvery browser provider behind one endpoint. Free routing on your own provider keys up to 10,000 sessions per month. Recording, observability, and overage draw from a prepaid credit wallet.
Sign upA self-hosted browser server. One container runs isolated Chrome sessions over CDP: warm pools for instant starts, per-session resource caps, zero cross-session state. Works with Puppeteer, Playwright, and any CDP client.
View on GitHubDemand-based autoscaling for self-hosted browser fleets. Runs in your VPC. Ed25519 offline licensing, no phone-home.
Talk to usThe routing layer of the stack. One endpoint that fans out to every browser provider you use, with automatic failover, persistent profiles, and session replay.
Browserless, Steel, Chrome, Docker
Zero downtime, zero code changes
Route all connections through one URL
Full timeline for every session
Works with everything
Change one line. Get routing, failover, and pooling for free.
import { chromium } from "playwright-core";
// One line change. Route through the gateway.
const browser = await chromium.connectOverCDP(
"http://localhost:9500"
);
const page = await browser.newPage();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close();Drop-in replacement. Change the URL, keep everything else.
The built-in MCP server auto-detects Chrome on your system, launches it on first use, and gives AI agents 8 browser tools through the gateway's routing layer.
browser_navigateGo to a URLbrowser_snapshotAccessibility tree with refsbrowser_screenshotCapture page as PNGbrowser_interactClick, type, scrollbrowser_evaluateRun JavaScriptbrowser_set_viewportResize viewportbrowser_closeEnd sessionbrowser_statusGateway healthCapture cookies, localStorage, and IndexedDB once. Replay across providers. Encrypted at rest, decrypted only inside the gateway.
acme-prodwss://cdp.browsergateway.io/v1/connect?profile=acme-prodAny client, any provider. The gateway loads the profile before your code runs and saves changes when the session ends.
When an agent breaks at 3am, screenshots and logs are not enough. Replay the whole session frame-by-frame. Shipped in v0.3.5, on by default.
Replay docsEvery routed session gets Page.startScreencast on the provider's Chrome. JPEG frames with SHA-1 dedup keep storage down.
The dashboard replays frames in order. Jump to any second of any session, on any provider.
One button turns a replay into a video file. ffmpeg auto-installs on first export.
7-day default, configurable to any window. Per-session byte cap. Encrypted on disk with the profile key.
Features
Priority chain, round-robin, least-connections, latency-optimized, and weighted distribution.
Provider goes down? Next one picks up instantly. TTL-based cooldowns with auto-recovery.
8 browser tools for AI agents. Navigate, screenshot, snapshot, interact, evaluate. Zero config.
All providers busy? Connections wait in a FIFO queue instead of failing. Configurable timeouts.
Set maxConcurrent per provider. The gateway enforces it so providers never get overwhelmed.
Cookies, localStorage, and IndexedDB captured per profile. AES-256-GCM at rest, replayable across providers.
Dropped clients reconnect to the same browser via session id. Cookies and page state stay intact.
Manage providers, view live sessions, edit config, and monitor health, all from the browser.
Periodic connectivity probes detect unhealthy providers. Cooldown system skips failing ones.
Get notified when providers go down, recover, enter cooldown, or when the queue overflows.
Works with CDP, Playwright protocol, and WebDriver BiDi. The raw TCP pipe forwards any WebSocket protocol.
Developer experience
The gateway is an npm package and a Docker image. Install locally, run in your own cluster, or bring your own Chrome.
browser-gateway serveStart gateway + dashboard
browser-gateway mcpMCP server for agents
browser-gateway checkTest provider health
MIT licensed. npm package or Docker image.
Everything in self-hosted, operated for you.