Murphy Proxies
HomeISP ProxiesResidential ProxiesResources
Sign In
  • Home
  • ISP Proxies
  • Residential Proxies
  • Use Cases
  • Locations
  • Alternatives
Sign In
Integrations/Puppeteer

Puppeteer proxy integration

Puppeteer sets the proxy as a Chromium launch argument, then supplies the username and password through page.authenticate(). This two-step pattern is the idiomatic way to run authenticated proxies in headless Chrome, and it works the same in headful mode for debugging.

scrape.jsjavascript
import puppeteer from "puppeteer";

const browser = await puppeteer.launch({
  args: ["--proxy-server=http://gateway.murphyproxies.com:8000"],
});

const page = await browser.newPage();

// Chrome takes the credentials here, not on the launch argument.
await page.authenticate({
  username: "USERNAME",
  password: "PASSWORD",
});

await page.goto("https://httpbin.org/ip", { waitUntil: "networkidle0" });
console.log(await page.evaluate(() => document.body.innerText));

await browser.close();

Setup in 5 steps

  1. 1Install the client with npm install puppeteer.
  2. 2Pass --proxy-server=http://gateway.murphyproxies.com:8000 in the launch args.
  3. 3Call page.authenticate() with your Murphy username and password before navigating.
  4. 4Navigate with waitUntil set to networkidle0 so the page settles before you read it.
  5. 5Evaluate document.body.innerText on an IP echo page to confirm the exit IP.

Puppeteer proxy questions

Everything you need to route Puppeteer through Murphy, from authentication to rotation.

The host and port go in the --proxy-server launch argument, but the username and password go through page.authenticate() on each page. Chromium will not accept credentials embedded in the launch flag, so this split is required.

Call page.authenticate() once per page object before its first navigation. If you open several pages in the same browser, authenticate each one, or route your work through a single page to keep it simple.

Chromium supports SOCKS5 via --proxy-server=socks5://gateway.murphyproxies.com:8000, but it does not support SOCKS5 username and password authentication. For authenticated proxies with Puppeteer, use the HTTP scheme with page.authenticate() as shown.

Get credentials for Puppeteer

Pick the network that fits your target. ISP proxies for fast, stable sessions, residential proxies for broad IP diversity against strict anti-bot systems.

ISP ProxiesResidential Proxies

Other integrations

Python requestscURLSeleniumPlaywrightScrapy
Murphy ProxiesISP & residential proxies
Discord communitySupport & updatesTrustpilot4.9 / 5 rated

Static ISP and rotating residential proxies. Real IPs, unlimited bandwidth, instant delivery.

GDPR compliant · EU-based, Estonia

Products
  • ISP Proxies
  • Residential Proxies
Features
  • Unlimited bandwidth
  • 10 Gbps network
  • Country & ASN targeting
  • HTTP & SOCKS5
  • Instant delivery
  • 99%+ success rate
Use cases
  • Web scraping
  • Sneaker botting
  • Ticketing
  • SEO monitoring
  • Ad verification
  • Price monitoring
Resources
  • Use Cases
  • Locations
  • Alternatives
  • Integrations
  • Blog
  • Dashboard
© 2022-2026 Murphy Proxies. All Rights Reserved.
Terms & ConditionsPrivacy Policy