Connection URL Patterns
Every connection to Browserless uses a WebSocket URL. The path and query parameters you use determine which browser runs, which protocol mode it uses, and how it behaves. This page covers all valid paths and explains when to use each one.
Connection URL Builder
BaaS Connection URL Builder
Connection URL:
wss://production-sfo.browserless.io/?token=YOUR_TOKEN
Code Snippet:
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://production-sfo.browserless.io/?token=YOUR_TOKEN',
});Complete URL Anatomy
A full connection URL combines a regional endpoint, a path, your API token, and any launch options:
wss://production-sfo.browserless.io/chromium/playwright?token=TOKEN&blockAds=true
| Component | Example value | Description |
|---|---|---|
| Protocol | wss:// | WebSocket Secure, required for all connections |
| Regional endpoint | production-sfo.browserless.io | Choose the region closest to your target |
| Path | /chromium/playwright | Browser and protocol mode |
| Auth | token=TOKEN | Your API token |
| Launch options | blockAds=true | Query parameters that configure the browser |
See Launch Options for the full list of query parameters.
Connection Paths
All paths accept WebSocket connections. Paths are case-sensitive.
CDP
CDP is the default connection mode. Use it with Puppeteer, Playwright in CDP mode, or any library that speaks chrome-devtools-protocol. Connect to /chromium or /chrome; both work with the same client code. Choose CDP for the widest library compatibility.
| Path | Browser | Notes |
|---|---|---|
/ | Chromium | Default; equivalent to /chromium |
/chromium | Chromium | Open-source Chromium build |
/chrome | Chrome | Licensed Google Chrome binary |
Playwright Native
Playwright Native uses Playwright's own browser server protocol instead of CDP. Use it when you need Playwright-specific APIs: page.route() for network interception, APIRequestContext, or multi-browser support with Firefox and WebKit. Connect using playwright.connect({ wsEndpoint }) with a /chromium/playwright, /firefox/playwright, or /webkit/playwright path.
| Path | Browser | Notes |
|---|---|---|
/chromium/playwright | Chromium | Playwright native protocol on Chromium |
/chrome/playwright | Chrome | Playwright native protocol on Chrome |
/firefox/playwright | Firefox | Playwright native protocol on Firefox |
/webkit/playwright | WebKit | Playwright native protocol on WebKit/Safari |
Stealth
Stealth routes layer anti-detection hardening on top of the browser. Use stealth when the target site has bot detection. /stealth provides the strongest baseline with a purpose-hardened browser. /chromium/stealth and /chrome/stealth add anti-detection to your chosen browser binary. See Stealth Routes for guidance on choosing the right variant.
| Path | Browser | Notes |
|---|---|---|
/stealth | Stealth browser | Purpose-hardened binary; highest evasion baseline |
/chromium/stealth | Chromium | Chromium with anti-detection layer |
/chrome/stealth | Chrome | Chrome with anti-detection layer |
/chrome and /chromium paths use different browser binaries but share the same feature set: CDP proxy, session replay, captcha solving, and proxy support all work on both. Chrome uses the licensed Google Chrome binary, which includes proprietary codec and DRM support. Chromium uses the open-source build, which does not. For most automation tasks, either works identically.
Regional Endpoints
Browserless runs in multiple regions. Use the endpoint closest to your target sites or your own infrastructure to reduce latency. All paths and protocol modes work identically across regions.
| Region | Endpoint |
|---|---|
| US West (San Francisco) | production-sfo.browserless.io |
| Europe (London) | production-lon.browserless.io |
| Europe (Amsterdam) | production-ams.browserless.io |