Get API Key

Run Playwright and Puppeteer in the cloud. Change one line.

Replace launch() with one connect line, and your Playwright or Puppeteer script runs in Gologin Cloud Browser as it is. No Chrome or Docker to update. Add a residential or mobile proxy in one API call: every run comes back signed in, from the same IP.

Free to start, no card. Residential IPs included.

4.7 / 5 on G2from 79 reviews

Connect Playwright and Puppeteer to the cloud in one line

The connect line is the only Gologin part; the rest is plain Playwright or Puppeteer. Every tab below ran as shown against Gologin Cloud Browser.

  1. Step 01

    Get your token

    Sign up with Google and copy your key from the dashboard. Free, no card.

  2. Step 02

    Create a profile

    One click in the dashboard, or one API call. The profile keeps the device, the IP and the login.

  3. Step 03

    Run the script

    Install the library and run the script below with your token and profile id. Moving your own script? Replace its launch() call with the connect line. More in the getting started guide.

Install
npm install playwright-core
Run
GOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id node scrape.mjs
Connects to
wss://cloudbrowser.gologin.com/connect?token=…&profile=…
import { chromium } from "playwright-core";

const token = process.env.GOLOGIN_TOKEN;
const profileId = process.env.GOLOGIN_PROFILE_ID;
const endpoint = `wss://cloudbrowser.gologin.com/connect?token=${token}&profile=${profileId}`;

const browser = await chromium.connectOverCDP(endpoint);
const page = await browser.contexts()[0].newPage();

await page.goto("http://quotes.toscrape.com/scroll");
await page.waitForSelector(".quote");

for (let i = 0; i < 30; i++) {
  const before = await page.locator(".quote").count();
  await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
  try {
    await page.waitForFunction(
      (n) => document.querySelectorAll(".quote").length > n,
      before,
      { timeout: 3000 }
    );
  } catch {
    break;
  }
}

const quotes = await page.$$eval(".quote", (els) =>
  els.map((el) => ({
    text: el.querySelector(".text")?.textContent,
    author: el.querySelector(".author")?.textContent,
  }))
);
console.log(quotes.length, quotes[0]);

await page.close();
await browser.close();

Playwright or Puppeteer: both run on Gologin Cloud Browser

Pick the library your team already knows. The cloud browser and the connect address are the same for both.

Ready to try your library? Get an API key and follow the getting started guide.

Moving a script from where it runs now

Wherever the script runs today, the move is the connect line. Here is what else you can drop.

Plans & Pricing

Every plan runs the same browser, with residential IPs included. Plans differ in browser hours and parallel sessions.

Need more at once? Add parallel sessions to any plan for $2 a month each, as many as you need. Proxy traffic beyond your allowance is $1/GB.

Custom

From 4 parallel sessions, with a dedicated account manager, a premium SLA and tailored onboarding.

Get a personal demo

Part of the complete tech stack

One account, one proxy network, one ecosystem. Pick the product the job needs.

Playwright and Puppeteer questions

Should I use Playwright or Puppeteer?

Both run on Gologin Cloud Browser with the same connect line, so pick the one your team knows. Playwright covers more languages and has its own test runner; Puppeteer is the smaller Node.js library from the Chrome team. On your own machine Playwright also drives Firefox and WebKit; in the cloud both drive the same Chromium-based browser.

How do I connect Playwright or Puppeteer to a cloud browser?

Playwright uses chromium.connectOverCDP, Python Playwright uses connect_over_cdp, Puppeteer uses puppeteer.connect with browserWSEndpoint. All three point at wss://cloudbrowser.gologin.com/connect with your token and profile id. The rest of the script stays the same. Collecting data from pages that load as you scroll? See Dynamic scraping.

Do I still need Docker or a local Chrome?

No. Install playwright-core or puppeteer-core, which come without a browser, and connect to the cloud. There is no Chrome version to pin, no Docker image to rebuild and no browser dependencies on your servers. See Headless browser API.

Do my scripts stay logged in between runs?

Yes. The login lives in the profile. Connect with the same profile id and open pages in the profile's own window, browser.contexts()[0] in Playwright, as the scripts above do: the next run starts signed in, from the same residential IP. A page from browser.newPage() opens in a fresh window without that login. Need to finish a 2FA step by hand? See Cloud Browser UI.

Can I run my Playwright Test suite on it?

Yes. Add a fixture that connects the browser with connectOverCDP, as in the Playwright Test tab above, and every test runs in Gologin Cloud Browser. The tests and their assertions stay as they are, and npx playwright test runs them as before.

How many scripts can run at the same time?

One on the free tier and on Professional, 2 on Business, 3 on Enterprise, from 4 on Custom. Add more to any plan for $2 a month each. Each parallel session is one connected browser.

Keep your script. Change one line.

Connect Playwright or Puppeteer to Gologin Cloud Browser and run it with a residential IP and a login that stays.

Free to start, no card. Residential IPs included.

4.7 / 5 on G2from 79 reviews