Tutorials7 min read

Puppeteer Proxy Configuration: Node.js Guide

How to use proxies with Puppeteer for headless Chrome automation.

OutreachProxy 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.outreachproxy.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.outreachproxy.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.outreachproxy.com:1080']
});

Per-Request Proxy (puppeteer-extra)

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

puppeteer.use(ProxyPlugin({ address: 'proxy.outreachproxy.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 OutreachProxy Team

Proxy Experts

The OutreachProxy 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