Hear talks from Google, Selenium, Sauce Labs and more at the free Browser Conference 🚀

Concurrent browsers, ready to run Playwright and Puppeteer tests

Run parallel tests on Chrome, Firefox and WebKit, straight from your existing CI setup. Starting at $200/month for 25 concurrent browsers.

Test complex interactions using scripting on Chrome, Firefox and WebKit
Pink Light
Performance metrics of our hosted browsers

Run parallel E2E tests with a change in endpoint

Give your CI setup the ability to run parallel end-to-end tests, without messing around with worker sizes or sharding tests. Keep your Playwright or Puppeteer scripts where they are, but change the endpoint to connect to our concurrent browsers.
No complex integrations or other connections are required. Some config changes and code tweaks are all that's needed.
Check out the docs

Don't pay for excessive features

Browserless offers a straightforward service. You connect to our Chrome, Firefox or WebKit browsers, with time-based pricing.
There's no paying for endless bolt-ons or complexities that you rarely ever use. Pricing starts at $200/month for 25 concurrent browsers.
See the pricing
Reconnect to remote browser sessions
Cross-browser testing

Ditch the complexities of Selenium Grid

If you're migrating from Selenium to Playwright, you can plug your tests into a pool of browsers. There's no need to manage hubs, nodes and browser updates.
See the Playwright docs

Consistent browser performance for low flakiness

Our browsers are optimized to load and run consistently, so you can avoid flaky tests. Run 10s, 100s or even 1000s of parallel tests without an impact on browser performance.
Grab a 7 Day Trial
Generation with GPUs enable or disable

Works with unforked libraries

See the Docs
Browserless white logo icon svg

// From inside your Node application
import puppeteer from 'puppeteer';

// Replace puppeteer.launch with puppeteer.connect
const browser = await puppeteer.connect({
  browserWSEndpoint: 'wss://chrome.browserless.io'

// The rest of your script remains the same
const page = await browser.newPage();
await page.goto('https://example.com/');
expect(await page.title()).toEqual('Example Site');

Browserless white logo icon svg

import { chromium } from 'playwright';

(async () => {
  const browser = await chromium.connect(
  const page = await browser.newPage();
  await page.goto('https://www.example.com/');
  expect(await page.title()).toEqual('Example Site');
  await browser.close();

Browserless white logo icon svg

# Responds with a JSON object of site details
$ curl -X POST \
  https://chrome.browserless.io/stats \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://example.com/"

Quote icon

Reliability and Testing Customer Case Studies

"We were hosting our own Puppeteer-driven smoke testing service, which required specialized operational attention to maintain and scale. We began looking for third-party hosted solutions so that we could focus our attention on building and supporting our core products, and Browserless fit the bill."

Christopher Zhen
Software Engineer, Samsara

"We don’t spend time babysitting tests and fighting flaky tests anymore. That is gone. We don’t think about it. Every test runs in isolation. This has been great because when tests flake, it’s one test alone and we can go patch it and move on."

Manoj Patel
Lead Software Engineer, Recurrency

"You have no idea how happy finding browserless was for me. I had no clue that remote devtools was even a thing a couple of months ago, and now I'm getting ready to deploy a production-ready app that uses it! There's no way I could've done it so quickly using other tools."

Bernardo Kuri
Rich Creative Manager, Weborama
Arrow pointed left
Arrow pointed right

Ready to try the benefits of Browserless?

Sign Up