Learn how to setup your Puppeteer proxy settings and integrate with Bright Data’s Proxy IPs.
Puppeteer is a Node library created to control headless and non-headless Chrome and Chromium with its high-level API.
New Bright Data product: Scraping Browser
Puppeteer Compatible
Easily make an API call to fetch any number of browser sessions and interact with them using Puppeteer (Python) or Playwright (Node.js) over a CDP protocol. Ideal for scraping projects that require website interactions to retrieve data, like hovering over a page, clicking buttons, scrolling, adding text, etc.
Bright Data Super Proxy and Puppeteer Integration
- Begin by going to your Bright Data Dashboard and clicking ‘create a Zone’.
- Choose ‘Network type’ and click save.
- Within Puppeteer fill in the ‘Proxy IP:Port’ in the ‘proxy-server’ value, for example
zproxy.lum-superproxy.io:22225
. - Under ‘page.authenticate’ input your Bright Data account ID and proxy Zone name in the ‘username’ value, for example:
lum-customer-CUSTOMER-zone-YOURZONE
and your Zone password found in the Zone settings. - For example:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: ['--proxy-server=zproxy.lum-superproxy.io:22225']
});
const page = await browser.newPage();
await page.authenticate({
username: 'lum-customer-USERNAME-zone-YOURZONE',
password: 'PASSWORD'
});
await page.goto('http://lumtest.com/myip.json');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
Proxy Manager and Puppeteer Integration
- Create a Zone with the network, IP type, and number of IPs you wish to use.
- Install the Proxy Manager.
- Click ‘add new proxy’ and choose the Zone and settings you require, click ‘save’.
- In Puppeteer, under the ‘proxy-server’, input your local IP and Proxy Manager port (i.e. 127.0.0.1:24000)
- The local host IP is 127.0.0.1
- The port created in the Proxy Manager is 24XXX, for example, 24000
- Leave the username and password values empty, as the Bright Data Proxy Manager has already been authenticated with the Super Proxy.
- For example:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: ['--proxy-server=127.0.0.1:24000']
});
const page = await browser.newPage();
await page.authenticate();
await page.goto('http://lumtest.com/myip.json');
await page.screenshot({path: 'example.png'});
await browser.close();
})();