{"id":21455770,"url":"https://github.com/luminati-io/proxy-integrations","last_synced_at":"2025-07-16T13:06:19.111Z","repository":{"id":134588840,"uuid":"505100070","full_name":"luminati-io/proxy-integrations","owner":"luminati-io","description":"Bright Data proxy integrations guide","archived":false,"fork":false,"pushed_at":"2024-09-24T10:13:52.000Z","size":91,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T15:22:39.984Z","etag":null,"topics":["integration","playwright","proxies","proxy-manager","puppeteer","selenium-webdriver"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luminati-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-19T12:13:47.000Z","updated_at":"2024-12-04T05:11:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"b9c8bd1e-0516-4f9e-8ec7-e120cd0b7d2d","html_url":"https://github.com/luminati-io/proxy-integrations","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminati-io%2Fproxy-integrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminati-io%2Fproxy-integrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminati-io%2Fproxy-integrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminati-io%2Fproxy-integrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luminati-io","download_url":"https://codeload.github.com/luminati-io/proxy-integrations/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250243728,"owners_count":21398394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["integration","playwright","proxies","proxy-manager","puppeteer","selenium-webdriver"],"created_at":"2024-11-23T05:13:21.753Z","updated_at":"2025-04-22T12:50:08.444Z","avatar_url":"https://github.com/luminati-io.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proxy Integrations\n\n\nIf you're like most web developers and scraping experts, you've probably used \u003cb\u003eSelenium\u003c/B\u003e or an equivalent browser automation tool for one of your projects. These \nare powerful testing and web page interaction tools but in most cases they require a proper \u003cb\u003eproxy IP integration\u003c/b\u003e to successfully complete certain job types \nwithout getting blocked.\nThere are 2 options for proxy integrations — the first is integrating directly with [Bright Data super proxies](https://brightdata.com/proxy-types/proxy-servers) \nand the second is through the Bright Data [proxy manager](https://github.com/luminati-io/luminati-proxy).\n\n![Bright Data Proxy Manager](https://github.com/luminati-io/proxy-integrations/blob/main/Proxy%20Manager.png)\n\n\u003ch2\u003eSelenium proxy integration\u003c/h2\u003e\n\n[Selenium](https://github.com/SeleniumHQ/selenium) web driver is a popular browser automation tool among Python coders that may be used to create realistic\nbrowsing situations for the most precise website testing as well as web scraping that emulates a real-user's interaction with the web page.\n\u003ch3\u003eTo integrate Selenium with Bright Data super proxies, follow these steps:\u003c/h3\u003e\n\n* First, access your Bright Data [control panel](https://brightdata.com/cp/zones) and click ‘\u003cb\u003eadd zone\u003c/b\u003e’.\n* Select your preferred network type - Datacenter, ISP, Residential, Mobile, etc.  and click '\u003cb\u003eadd zone\u003c/b\u003e' again.\n* In Selenium web driver, fill in the ```Proxy IP:Port``` in the ```setProxy``` function for example ```zproxy.lum-superproxy.io:22225``` of both HTTP and HTTPS.\n* Under ```sendKeys``` input your Bright Data account ID and proxy zone name:```lum-customer-CUSTOMER-zone-YOURZONE``` and your zone password found in the proxy zone \n* settings.\n* Here is an example of what your code should look like:\n\n```s\nconst {Builder, By, Key, until} = require('selenium-webdriver');\nconst proxy = require('selenium-webdriver/proxy');\n\n(async function example(){\n  let driver = await new Builder().forBrowser('firefox').setProxy(proxy.manual({\n    http: 'zproxy.lum-superproxy.io:22225',\n    https: 'zproxy.lum-superproxy.io:22225'\n  })).build()\n\n  try {\n    await driver.get('http://lumtest.com/myip.json');\n    driver.switchTo().alert()\n      .sendKeys('lum-customer-USERNAME-zone-YOURZONE'+Key.TAB+'PASSWORD');\n    driver.switchTo().alert().accept();\n  } finally {\n      await driver.quit();\n  }\n})();\n```\n\u003ch3\u003eTo integrate Selenium with Bright Data proxy manager, follow these steps:\u003c/h3\u003e\n\n* Create a proxy zone with the network, IP type, and number of IPs you require.\n* [Install](https://brightdata.com/products/proxy-manager) the Bright Data Proxy Manager on your machine or access it via cloud on your Bright Data control panel.\n* Click the \u003cb\u003e‘add new proxy’\u003c/b\u003e option and choose the zone and settings you require for it, then click \u003cb\u003e‘save’\u003c/b\u003e.\n* Go to Selenium web driver.  Under the setProxy type in your local IP and proxy manager port (i.e. 127.0.0.1:24000).\n* The local host IP is 127.0.0.1.\n* The port that is created in the Proxy Manager is in the format 24XXX, for example 24000.\n* Don't type username and password into the fields — the Bright Data Proxy Manager is already authenticated with the Super Proxy server.\n* Here is an example how your Selenium code should look like:\n\n```s\nconst {Builder, By, Key, until} = require('selenium-webdriver');\nconst proxy = require('selenium-webdriver/proxy');\n\n(async function example(){\n    let driver = await new Builder().forBrowser('firefox').setProxy(proxy.manual({\n        http: '127.0.0.1:24000',\n        https: '127.0.0.1:24000'\n    })).build()\n\n    try {\n        await driver.get('http://lumtest.com/myip.json');\n        driver.switchTo().alert().accept();\n    } finally {\n        await driver.quit();\n    }\n})();\n```\n\nStart using the \u003cb\u003e[Selenium proxy integration here](https://brightdata.com/integration/selenium)\u003c/b\u003e.\n\n\n\u003ch2\u003ePuppeteer proxy integration\u003c/h2\u003e\n\nPuppeteer is a Node library created to control and automate headless and non-headless Chrome and Chromium browsers with its high-level API. Though it wasn't\noriginally designed to be used as a testing platform, it has become a very popular alternative to Selenium among JavaScript users and features some additional\n[stealth extra plug-ins](https://github.com/berstend/puppeteer-extra).\n\n\u003ch3\u003eTo integrate Puppeteer with Bright Data super proxies, follow these steps:\u003c/h3\u003e\n\n* First, access your Bright Data control panel and click \u003cb\u003e‘add zone’\u003c/b\u003e.\n* Select your preferred proxy network type - Datacenter, ISP, Residential, Mobile, etc. and click \u003cb\u003e'add zone'\u003c/b\u003e again.\n* Go to Puppeteer, add the ```Proxy IP:Port``` in the ```proxy-server``` value, for instance ```zproxy.lum-superproxy.io:22225``` .\n* Under the ```page.authenticate``` insert your Bright Data account ID and proxy zone name in the ```username``` value, this way: ```lum-customer-CUSTOMER-zone-YOURZONE``` and your  proxy zone password found in the proxy zone settings.\n* Here is an example how what your Puppeteer code should look like:\n\n```javascript\nconst puppeteer = require('puppeteer');\n\n(async () =\u003e {\n  const browser = await puppeteer.launch({\n    headless: false,\n    args: ['--proxy-server=zproxy.lum-superproxy.io:22225']\n  });\n  const page = await browser.newPage();\n    await page.authenticate({\n        username: 'lum-customer-USERNAME-zone-YOURZONE',\n        password: 'PASSWORD'\n    });\n    await page.goto('http://lumtest.com/myip.json');\n    await page.screenshot({path: 'example.png'});\n    await browser.close();\n})();\n```\n\n\u003ch3\u003eTo integrate Puppeteer with Bright Data proxy manager, follow these steps:\u003c/h3\u003e\n\n* Access your Bright Data control panel and create a zone with the proxy network type, IP type, and number of IPs you require.\n* Install the Proxy Manager on your device or access it via the cloud on your Bright Data control panel.\n* Click \u003cb\u003e‘add new proxy’\u003c/b\u003e and choose the zone and settings you require, click \u003cb\u003e‘save’\u003c/b\u003e.\n* In Puppeteer, under the ```proxy-server```, insert your local IP and Bright Data Proxy Manager port (i.e. 127.0.0.1:24000).\n* The local host IP is 127.0.0.1\n* The port created by default in the Bright Data Proxy Manager is in the format 24XXX, e.g., 24000.\n* Don't type username and password into the fields — the Bright Data Proxy Manager is already authenticated with the Super Proxy server.\n* Here is an example how what your Puppeteer code should look like:\n\n```javascript\nconst puppeteer = require('puppeteer');\n\n(async () =\u003e {\n    const browser = await puppeteer.launch({\n        headless: false,\n        args: ['--proxy-server=127.0.0.1:24000']\n    });\n    const page = await browser.newPage();\n    await page.authenticate();\n    await page.goto('http://lumtest.com/myip.json');\n    await page.screenshot({path: 'example.png'});\n    await browser.close();\n})();\n```\n\nStart using the Bright Data \u003cb\u003e[Puppeteer proxy integration here](https://brightdata.com/integration/puppeteer)\u003c/b\u003e.\n\n\n\u003ch2\u003ePlaywright proxy integration\u003c/h2\u003e\n\nPlaywright is a Node.js library that allows Chromium, Firefox, and WebKit automation using a single API. Here are the steps for a quick Playwright proxy Integration \nwith Bright Data.\n\n\u003ch3\u003eTo integrate Playwright with Bright Data super proxies, follow these steps:\u003c/h3\u003e\n\n* First, access your Bright Data control panel and click \u003cb\u003e‘add a zone’\u003c/b\u003e.\n* Select your preferred proxy network type - Datacenter, ISP, Residential, Mobile, etc. and click \u003cb\u003e'add zone'\u003c/b\u003e again.\n* Go to Playwright and insert the ```Proxy IP:Port``` in the ```server``` value, for example ```http://zproxy.lum-superproxy.io:22225``` .\n* Under ```username``` type in your Bright Data account ID and proxy zone name, for example:```lum-customer-CUSTOMER-zone-YOURZONE``` and under ```password``` type in \nyour zone password found in the Bright data proxy zone settings.\n* Here is an example how what your Playwright code should look like:\n\n```javascript\nconst playwright = require('playwright');\n\n(async () =\u003e {\n    for (const browserType of ['chromium', 'firefox', 'webkit']) {\n        const browser = await playwright[browserType].launch({\n            headless: false,\n            proxy: {\n                server: 'http://zproxy.lum-superproxy.io:22225',\n                username: 'lum-customer-USERNAME-zone-YOURZONE',\n                password: 'PASSWORD'\n            },\n        });\n        const context = await browser.newContext();\n        const page = await context.newPage();\n        await page.goto('http://lumtest.com/myip.json');\n        await page.screenshot({ path: 'example.png' });\n        await browser.close();\n    }\n})();\n```\n\n\u003ch3\u003eTo integrate Playwright with Bright Data proxy manager, follow these steps:\u003c/h3\u003e\n\n* Access your Bright Data control panel and create a zone with the proxy network type, IP type, and number of IPs you require.\n* Install the Proxy Manager on your device or access it via the cloud on your Bright Data control panel.\n* Click \u003cb\u003e‘add new proxy’\u003c/b\u003e and choose the zone and settings you require, click \u003cb\u003e‘save’\u003c/b\u003e.\n* In Playwright, under the ```server```, insert your local IP and Bright Data Proxy Manager port (i.e. 127.0.0.1:24000).\n* The local host IP is 127.0.0.1.\n* The port created by default in the Bright Data Proxy Manager is in the format 24XXX, e.g., 24000.\n* Don't type username and password into the fields — the Bright Data Proxy Manager is already authenticated with the Super Proxy server.\n* Here is an example of what your Playwright code should look like:\n\n```javascript\nconst playwright = require('playwright');\n\n(async () =\u003e {\n    for (const browserType of ['chromium', 'firefox', 'webkit']) {\n        const browser = await playwright[browserType].launch({\n            headless: false,\n            proxy: {\n                server: '127.0.0.1:24000',\n                username: '',\n                password: ''\n            },\n        });\n        const context = await browser.newContext();\n        const page = await context.newPage();\n        await page.goto('http://lumtest.com/myip.json');\n        await page.screenshot({ path: 'example.png' });\n        await browser.close();\n    }\n})();\n```\n\nStart using the Bright Data \u003cb\u003e[Playwright proxy integration here](https://brightdata.com/integration/playwright)\u003c/b\u003e.\n\n\n\u003ch2\u003eOther useful Bright Data proxy integrations\u003c/h2\u003e\n\n* PhantomBuster - watch the proxy integration tutorial video on [YouTube](https://youtu.be/Tw68CHXs_jE).\n* Apify\n* SessionBox\n* VMLogin\n* AdsPower\n\nGo to Bright Data [proxy integrations](https://brightdata.com/integration) center to learn what's new.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluminati-io%2Fproxy-integrations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluminati-io%2Fproxy-integrations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluminati-io%2Fproxy-integrations/lists"}