Tutorials7 min read

Puppeteer Proxy Configuration: Node.js Guide

How to use proxies with Puppeteer for headless Chrome automation.

NobleProxy Team

Proxy Experts

Puppeteer Proxy Setup

Configure proxies in Puppeteer for Node.js browser automation.

TL;DR: Pass --proxy-server argument to launch(). For authentication, intercept requests and add auth headers.

Basic Setup

const puppeteer = require('puppeteer');

const browser = await puppeteer.launch({
  args: ['--proxy-server=proxy.nobleproxy.com:8080']
});

const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');

With Authentication

const browser = await puppeteer.launch({
  args: ['--proxy-server=proxy.nobleproxy.com:8080']
});

const page = await browser.newPage();

await page.authenticate({
  username: 'your_username',
  password: 'your_password'
});

await page.goto('https://httpbin.org/ip');

SOCKS5 Proxy

const browser = await puppeteer.launch({
  args: ['--proxy-server=socks5://proxy.nobleproxy.com:1080']
});

Per-Request Proxy (puppeteer-extra)

const puppeteer = require('puppeteer-extra');
const ProxyPlugin = require('puppeteer-extra-plugin-proxy');

puppeteer.use(ProxyPlugin({
  address: 'proxy.nobleproxy.com',
  port: 8080,
  credentials: {
    username: 'user',
    password: 'pass'
  }
}));

Best Practices

  1. Set reasonable timeouts
  2. Handle navigation errors
  3. Close browser on completion
  4. Rotate proxies for scale
PuppeteerNode.jsJavaScript

Written by NobleProxy Team

Proxy Experts

The NobleProxy team helps businesses scale their cold outreach with reliable static residential proxies. We share our expertise to help you succeed.

Ready to Scale Your Outreach?

Get started with static residential proxies built for cold outreach professionals. From $2.97/month with unlimited bandwidth.

Get Started