Configure TrueProxies with Playwright
Basic Usage
Section titled “Basic Usage”import { chromium } from 'playwright';
const browser = await chromium.launch({ proxy: { server: 'http://YOUR_HOST:YOUR_HTTP_PORT', username: 'your_username', password: 'your_password', },});
const page = await browser.newPage();await page.goto('https://httpbin.org/ip');console.log(await page.textContent('body'));await browser.close();import { firefox } from 'playwright';
const browser = await firefox.launch({ proxy: { server: 'http://YOUR_HOST:YOUR_HTTP_PORT', username: 'your_username', password: 'your_password', },});
const page = await browser.newPage();await page.goto('https://httpbin.org/ip');console.log(await page.textContent('body'));await browser.close();SOCKS5
Section titled “SOCKS5”const browser = await chromium.launch({ proxy: { server: 'socks5://YOUR_HOST:YOUR_SOCKS_PORT', username: 'your_username', password: 'your_password', },});Residential IPv4 country targeting
Section titled “Residential IPv4 country targeting”const browser = await chromium.launch({ proxy: { server: 'http://YOUR_HOST:YOUR_HTTP_PORT', username: 'your_username-country-us', password: 'your_password', },});Residential IPv4 per-context proxies
Section titled “Residential IPv4 per-context proxies”Use different proxies per browser context:
const browser = await chromium.launch();
const context = await browser.newContext({ proxy: { server: 'http://YOUR_HOST:YOUR_HTTP_PORT', username: 'your_username-country-de', password: 'your_password', },});
const page = await context.newPage();await page.goto('https://httpbin.org/ip');console.log(await page.textContent('body'));
await context.close();await browser.close();Python
Section titled “Python”from playwright.sync_api import sync_playwright
with sync_playwright() as p: browser = p.chromium.launch(proxy={ "server": "http://YOUR_HOST:YOUR_HTTP_PORT", "username": "your_username", "password": "your_password", })
page = browser.new_page() page.goto("https://httpbin.org/ip") print(page.text_content("body")) browser.close()