Integration

Proxies for Puppeteer

Headless Chrome automation in Node Point it at one gateway host and every request exits from a different residential address, with country targeting when you need it.

HTTPS and SOCKS5   IP whitelist or user and password   From $24.95/mo

Before you start

You need an active plan, your gateway credentials from the dashboard, and either your server IP whitelisted or a user and password pair. Replace USER:PASS in the examples with your real credentials.

The rotating port gives a new IP on every request. Sticky ports hold one address for the life of the session, and both live on the same host, so you choose by port rather than by product.

The gotcha worth knowing

Puppeteer sends credentials in response to a 407 challenge, which is why they go on the page rather than in the launch flag. Chrome ignores user and password embedded in the proxy-server URL.

Configuration

Puppeteer takes the proxy as a Chrome launch flag, then authenticates per page. The flag has to be set at launch because Chrome reads it once when the browser process starts.

index.js
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--proxy-server=http://gateway.proxyrotator.com:11000']
  });
  const page = await browser.newPage();

  // Chrome cannot take credentials in the flag, so they go here
  await page.authenticate({ username: 'USER', password: 'PASS' });

  await page.goto('https://api.ipify.org');
  console.log(await page.content());
  await browser.close();
})();

Each new browser launch draws a fresh IP from the rotating pool. If you need one address held across several page loads, use a sticky port instead and keep the same browser instance open.

Where to go next

Running more than one tool against the same gateway is normal. These cover the others.

FAQ

Puppeteer proxy setup FAQ

Does this work with rotating and sticky sessions?
Yes. Both run on the same gateway host. The rotating port returns a new IP per request; a sticky port holds one address for the session so a sequence of requests looks like one visitor.
Can I authenticate without a username and password?
Yes. Whitelist your server IP in the dashboard and the gateway will accept connections from it with no credentials in the connection string, which is cleaner if you are committing config to a repository.
Does Puppeteer support SOCKS5?
The gateway serves both HTTPS and SOCKS5. Where the tool supports SOCKS5, prefer it for non HTTP protocols and use the hostname resolving variant so DNS does not leak.
Can I choose the exit country?
Yes, country targeting is available. Set it from the dashboard against your gateway credentials.
What does it cost?
Plans start at $24.95/mo with residential, datacenter, mobile and IPv6 included, and bandwidth bundled rather than metered per gigabyte.

Get your Puppeteer setup running

One gateway, every proxy type, from $24.95/mo. Standard HTTPS and SOCKS5 so your existing code works unchanged.

Copied!