Playwright Integration
Playwright + residential proxies: bypass anti-bot without patching browser fingerprints
Route Chromium, Firefox, and WebKit browser contexts through 65M+ real residential IPs. BytesFlows proxy credentials drop into Playwright's native proxy API β no third-party wrapper, no HAR patching.
Playwright proxy code examples
BytesFlows uses the standard HTTP proxy protocol β drop credentials directly into Playwright's launchOptions or newContext.
const { chromium } = require('playwright');
const browser = await chromium.launch({
proxy: {
server: 'http://p1.bytesflows.com:8001',
username: 'YOUR_PROXY_USER',
password: 'YOUR_PROXY_PASS',
},
});
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
console.log(await page.textContent('body')); // Real residential IP
await browser.close();Replace YOUR_PROXY_USER and YOUR_PROXY_PASS with credentials from your BytesFlows dashboard under Proxies β Residential β Sub-users.
How Playwright routes traffic through BytesFlows
Playwright's proxy option passes all page requests through the residential proxy gateway β no browser extension or OS-level config required.
Playwright script
Your Node.js or Python script calls chromium.launch() with proxy credentials
Auth handshake
BytesFlows gateway validates the sub-user credentials and applies geo targeting from the username
Residential exit node
Traffic exits through a real home broadband IP matching the requested country/city
Target website
The target sees a real residential IP β same as an organic user visiting from that location
All Playwright browser engines (Chromium, Firefox, WebKit) use the same proxy configuration API. SOCKS5 and HTTP both supported.
Built for production Playwright scraping pipelines
Per-context proxy isolation
Assign a different residential IP to each Playwright BrowserContext. Run hundreds of parallel sessions from one script β each context exits through a unique residential node.
No patching or browser hacks
BytesFlows uses Playwright's built-in proxy option β no stealth plugins, no CDP monkey-patching, no extra dependencies. Drop credentials into launchOptions and done.
Sticky session support for multi-step flows
Append -session-{id} to any sub-user credential to lock a specific exit IP for up to 60 minutes. Essential for login β checkout β confirmation workflows where IP consistency is checked.