The open router for cloud browsers.

    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
    BrowserGateway dashboard
    The stack

    Route, run, or scale.
    Self-host it, or run it on our cloud.

    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.

    Available now

    Gateway

    One endpoint that routes across every browser provider. Automatic failover, persistent profiles, session replay, MCP server.

    Read the docs
    Available now

    Cloud

    Every 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 up
    Available now

    Browserserve

    A 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 GitHub
    Enterprise

    Autoscale

    Demand-based autoscaling for self-hosted browser fleets. Runs in your VPC. Ed25519 offline licensing, no phone-home.

    Talk to us
    Available today, MIT

    The Gateway.

    The routing layer of the stack. One endpoint that fans out to every browser provider you use, with automatic failover, persistent profiles, and session replay.

    Any Provider

    Browserless, Steel, Chrome, Docker

    Auto Failover

    Zero downtime, zero code changes

    One Endpoint

    Route all connections through one URL

    Session Replay

    Full timeline for every session

    Connect once. We route to what's available.

    AI Agents
    Applications
    Automation

    BrowserGateway

    504 sessions
    Routing
    Failover
    Health Checks
    Queuing
    Sessions
    P1

    Cloud CDP

    Load504/504
    P2

    Docker

    Load0/336
    P3

    browserserve

    Load0/210

    Works with everything

    Drop-in compatible

    Change one line. Get routing, failover, and pooling for free.

    app.ts
    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.

    Built for AI agents

    Give every agent
    a browser.
    No setup required.

    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.

    Works with Claude Code, Cursor, and any MCP client
    Each agent session gets its own browser instance
    Headed on desktop, headless in Docker/CI automatically
    Routes through multi-provider gateway for failover
    MCP documentation
    8 Browser Tools
    browser_navigateGo to a URL
    browser_snapshotAccessibility tree with refs
    browser_screenshotCapture page as PNG
    browser_interactClick, type, scroll
    browser_evaluateRun JavaScript
    browser_set_viewportResize viewport
    browser_closeEnd session
    browser_statusGateway health
    Persistent sessions

    Sessions that
    survive a crash.

    Capture cookies, localStorage, and IndexedDB once. Replay across providers. Encrypted at rest, decrypted only inside the gateway.

    Agents resume mid-workflow. State auto-captures on disconnect.
    Login once. Every script after starts logged in.
    Capture on one provider, replay on another. No vendor lock-in.
    AES-256-GCM at rest. Key never leaves the gateway.
    Profile documentation
    Profile
    Encrypted at rest
    acme-prod
    Last used 2 min ago
    Cookies
    12
    Origins
    3
    Size
    47 KB
    Inject by URL
    wss://cdp.browsergateway.io/v1/connect?profile=acme-prod

    Any client, any provider. The gateway loads the profile before your code runs and saves changes when the session ends.

    Session replay

    See what
    the agent saw.

    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 docs

    CDP screencast at the router

    Every routed session gets Page.startScreencast on the provider's Chrome. JPEG frames with SHA-1 dedup keep storage down.

    Scrub the timeline

    The dashboard replays frames in order. Jump to any second of any session, on any provider.

    Export as MP4

    One button turns a replay into a video file. ffmpeg auto-installs on first export.

    Retention you control

    7-day default, configurable to any window. Per-session byte cap. Encrypted on disk with the profile key.

    Features

    Everything you need to route browsers

    5 Routing Strategies

    Priority chain, round-robin, least-connections, latency-optimized, and weighted distribution.

    Automatic Failover

    Provider goes down? Next one picks up instantly. TTL-based cooldowns with auto-recovery.

    MCP Server

    8 browser tools for AI agents. Navigate, screenshot, snapshot, interact, evaluate. Zero config.

    Request Queue

    All providers busy? Connections wait in a FIFO queue instead of failing. Configurable timeouts.

    Concurrency Limits

    Set maxConcurrent per provider. The gateway enforces it so providers never get overwhelmed.

    Encrypted Profiles

    Cookies, localStorage, and IndexedDB captured per profile. AES-256-GCM at rest, replayable across providers.

    Session Reconnect

    Dropped clients reconnect to the same browser via session id. Cookies and page state stay intact.

    Web Dashboard

    Manage providers, view live sessions, edit config, and monitor health, all from the browser.

    Health Monitoring

    Periodic connectivity probes detect unhealthy providers. Cooldown system skips failing ones.

    Webhooks

    Get notified when providers go down, recover, enter cooldown, or when the queue overflows.

    Protocol Agnostic

    Works with CDP, Playwright protocol, and WebDriver BiDi. The raw TCP pipe forwards any WebSocket protocol.

    Developer experience

    From zero to routing in seconds

    terminal
    $ npx browser-gateway serve
    ┌─────────────────────────────────────────┐
    browser-gateway v0.1.8
    └─────────────────────────────────────────┘
    + Config loaded gateway.yml
    + Provider cloud-cdp healthy (5 slots)
    + Provider docker-pw healthy (10 slots)
    + Provider local-chrome healthy (2 slots)
    > Gateway ws://localhost:9500
    > Dashboard http://localhost:9500/web
    > MCP http://localhost:9500/mcp
    > Strategy priority-chain
    Waiting for connections...|

    Run it yourself.

    The gateway is an npm package and a Docker image. Install locally, run in your own cluster, or bring your own Chrome.

    browser-gateway serve

    Start gateway + dashboard

    browser-gateway mcp

    MCP server for agents

    browser-gateway check

    Test provider health

    Self-host or Cloud

    When to use Cloud.

    Self-host

    MIT licensed. npm package or Docker image.

    • Routes to Browserless, Steel, Browserbase, Lightpanda, or your own Chrome
    • Automatic failover across providers
    • All five routing strategies
    • Capacity queue when every provider is busy
    • Persistent profiles, so a session resumes after a crash
    • Session recording
    • Live playground
    • REST API (screenshot / content / scrape)
    • MCP server for AI agents
    • Webhooks on provider health
    • Provider health checks, cooldowns, and capability detection
    • Dashboard, CLI, and YAML config
    Read the docs

    Cloud

    Everything in self-hosted, operated for you.

    • Everything in self-hosted, included
    • Global edge, no regional deployment work
    • EU data residency
    • Session observability: every request, navigation, and error
    • Recordings encoded to MP4 with an in-dashboard player
    • Team members, roles, and invitations
    • Separate routers for staging and production
    • Unlimited concurrent sessions
    • Daily automatic backups
    • Managed retention
    • Upgrades, uptime, and storage handled for you
    Start free