Migrating from Browserbase
Already running browser automation on Browserbase? Moving to BrowserCat is a connection-string change, not a rewrite. Both services speak the same open standards, Playwright, Puppeteer, and the Chrome DevTools Protocol, so your automation logic stays exactly as it is.
This guide is factual, not a teardown: Browserbase is a solid single-vendor browser service. The difference is that BrowserCat is a router, one endpoint that sends each session to the backend best suited for the job, so you’re not coupled to any one provider.
What changes
Almost nothing. You point your client at BrowserCat’s endpoint and pass a BrowserCat API key instead of a Browserbase one. The wss://api.browsercat.com/connect endpoint and a single Api-Key header replace your previous connect URL and credentials.
Before and after
import * as pw from 'playwright-core';
const browser = await pw.chromium.connect(
'wss://api.browsercat.com/connect',
{headers: {'Api-Key': '<YOUR_API_KEY>'}},
);
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
import * as puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint:
'wss://api.browsercat.com/connect?apiKey=<YOUR_API_KEY>',
});
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
That’s the migration. Everything after the connect call, navigation, selectors, screenshots, PDFs, network interception, is identical, because it’s the same Playwright/Puppeteer/CDP API you already use.
For the full set of connection options, see Connect with Playwright or Connect with Puppeteer.
What you gain
- Multi-backend routing. You describe what a session needs and the router picks a backend that can deliver it, rather than every session landing on one vendor’s fleet. See how it works.
- Zero vendor lock-in. BrowserCat is built on open standards, so there’s no proprietary SDK to adopt and none to rip out later. If you ever want to leave, it’s the same one-line change in reverse.
- Bring your own proxy. Pair a session with your own third-party proxy when a job needs specific egress or geolocation.
- A roadmap that improves the same endpoint. As we add backends, your existing
/connectintegration gets more capable without any code change on your side, see the roadmap.
Steps to switch
- Sign up for a free BrowserCat account.
- Create an API key.
- Replace your Browserbase connect URL with
wss://api.browsercat.com/connectand pass your BrowserCat key via theApi-Keyheader (Playwright) or theapiKeyquery parameter (Puppeteer). - Run your existing script. It should work unchanged.
Notes on parity
- Sessions run on Chromium in “new” headless mode; review browser configuration to map any launch options you set on Browserbase.
- If your Browserbase scripts used vendor-specific SDK helpers, swap them for the equivalent standard Playwright/Puppeteer calls, the core automation API is the same.
Questions about your migration? Contact us, we’re happy to help you move.