PiratProxies

Automation and testing

How to use a proxy with Browserless

Browserless runs headless Chrome as a service that Puppeteer or Playwright connects to. The proxy is a Chrome launch argument on the connection address, and the login is given to the page.

Which proxy to use

Residential proxies suit automation that acts like a visitor, with a sticky session for anything that logs in. For testing your own site from other countries, any plan with the right country works; Residential Lite is the cheapest.

What to enter

A PiratProxies plan gives you four things: a host, a port, a username and a password. These are the values for Residential; the username and password are on your plan page.

Hostresi.piratproxies.com
HTTP port8080
SOCKS5 port1080
UsernameUSERNAME
Passwordfrom your plan page

The country and the session are chosen in the username, not in a separate setting. The generator on your plan page writes the username for you, and Targeting and sessions explains each part.

Steps

  1. Add --proxy-server to the connection address with the proxy host and port.
  2. After connecting, call page.authenticate with your username and password.

Example

Node.js, with Puppeteer

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.connect({
    browserWSEndpoint: 'ws://localhost:3000?--proxy-server=http://resi.piratproxies.com:8080',
  });
  const page = await browser.newPage();
  await page.authenticate({ username: 'USERNAME', password: 'PASSWORD' });
  await page.goto('https://api.ipify.org');
  console.log(await page.evaluate(() => document.body.innerText));
  await browser.close();
})();

Replace USERNAME and PASSWORD with the login from your plan page. The example asks an IP-check address, so the output is the address your request left from.

Rotating or sticky

If Browserless is acting as one visitor through several steps, use a sticky session so the IP address stays the same throughout. If each run is independent, leave the session out and every run starts from a new address.

A sticky username looks like this:

USERNAME-country-us-time-600-session-a1b2c3d4

If it does not work

  • The launch argument is per connection, so different connections can use different proxies or session IDs.
  • A 407 error means the username or password was not accepted. Copy both again from your plan page, and check that nothing added a space or cut the username short.
  • If the IP address is in the wrong country, look at the username: the country code is part of it. More fixes.

Questions

Does Browserless work with SOCKS5 proxies?

Not with a username and password: Browserless can use SOCKS5 only without a login. Use the HTTP port, 8080, which works for both http and https sites.

Which PiratProxies proxy should I use with Browserless?

Residential proxies suit automation that acts like a visitor, with a sticky session for anything that logs in. For testing your own site from other countries, any plan with the right country works; Residential Lite is the cheapest.

Browserless is a product of its own makers. PiratProxies is not affiliated with it; the name is used here only to say what this guide is about. Use it within the rules of the sites you work with and our acceptable use policy.