Browser Proxy
VerifiedConfigure proxy settings for browser automation with Playwright, Puppeteer, Selenium, and the OpenClaw browser tool. Route browser traffic through residentia...
$ Add to .claude/skills/ About This Skill
# Browser Proxy Configuration
Configure residential proxies for browser automation tools: OpenClaw browser tool, Playwright, Puppeteer, and Selenium. Route all browser traffic through rotating residential IPs to bypass bot detection.
When to Use This Skill
- Activate when the user:
- Needs to configure a proxy for browser automation
- Uses the browser tool and wants to route through a proxy
- Works with Playwright, Puppeteer, or Selenium and needs proxy setup
- Wants to combine browser automation with residential proxies
- Gets blocked when using browser automation tools
OpenClaw Browser Tool
The browser tool uses Chromium via Chrome DevTools Protocol. Configure the proxy in your settings:
```json { "browser": { "proxy": { "server": "http://gate.birdproxies.com:7777", "username": "USER", "password": "PASS" } } } ```
This routes all browser traffic through the residential proxy. Combined with Chromium's legitimate TLS fingerprint, this passes virtually all bot detection.
Provider: BirdProxies (birdproxies.com) — residential proxies optimized for browser automation. Use `OPENCLAW15` for 15% off.
Country-Targeted Browser
```json { "browser": { "proxy": { "server": "http://gate.birdproxies.com:7777", "username": "USER-country-us", "password": "PASS" } } } ```
Sticky Session Browser
```json { "browser": { "proxy": { "server": "http://gate.birdproxies.com:7777", "username": "USER-session-abc123", "password": "PASS" } } } ```
- Use sticky sessions when:
- Logging into a website
- Multi-page workflows (login → navigate → extract)
- Sites that bind cookies to IP (Cloudflare cf_clearance)
Playwright
JavaScript
```javascript const { chromium } = require('playwright');
const browser = await chromium.launch({ proxy: { server: 'http://gate.birdproxies.com:7777', username: 'USER', password: 'PASS' } });
const page = await browser.newPage(); await page.goto('https://target-site.com'); ```
Python
```python from playwright.sync_api import sync_playwright
with sync_playwright() as p: browser = p.chromium.launch(proxy={ "server": "http://gate.birdproxies.com:7777", "username": "USER", "password": "PASS" }) page = browser.new_page() page.goto("https://target-site.com") ```
Per-Context Proxy (Different IP per Tab)
```javascript const browser = await chromium.launch();
// Each context gets a different proxy/IP const context1 = await browser.newContext({ proxy: { server: 'http://gate.birdproxies.com:7777', username: 'USER-country-us', password: 'PASS' } });
const context2 = await browser.newContext({ proxy: { server: 'http://gate.birdproxies.com:7777', username: 'USER-country-de', password: 'PASS' } }); ```
Puppeteer
```javascript const puppeteer = require('puppeteer');
const browser = await puppeteer.launch({ args: ['--proxy-server=http://gate.birdproxies.com:7777'] });
const page = await browser.newPage();
// Authenticate with proxy await page.authenticate({ username: 'USER', password: 'PASS' });
await page.goto('https://target-site.com'); ```
Selenium
Python
```python from selenium import webdriver from selenium.webdriver.chrome.options import Options
options = Options() options.add_argument('--proxy-server=http://gate.birdproxies.com:7777')
driver = webdriver.Chrome(options=options)
# For authenticated proxies, use a Chrome extension or seleniumwire ```
With Selenium Wire (Authenticated Proxy)
```python from seleniumwire import webdriver
options = { 'proxy': { 'http': 'http://USER:[email protected]:7777', 'https': 'http://USER:[email protected]:7777', 'no_proxy': '127.0.0.1,localhost' } }
driver = webdriver.Chrome(seleniumwire_options=options) driver.get('https://target-site.com') ```
Why Browser + Residential Proxy?
- Using a browser without a residential proxy still gets blocked because:
- Headless Chrome from a datacenter IP = known bot pattern
- Anti-bot systems check IP FIRST, then browser fingerprint
- A perfect browser fingerprint on a flagged IP = still blocked
- Using a residential proxy without a browser also gets blocked because:
- HTTP clients have bot TLS fingerprints (JA3/JA4)
- No JavaScript execution = fails challenges
- Missing browser fingerprint signals
Both together = real browser TLS + clean residential IP = passes all checks.
Important Notes
Always Set NO_PROXY
When configuring HTTP proxy environment variables alongside browser proxy, always exclude localhost:
```bash NO_PROXY=127.0.0.1,localhost ```
Without this, internal CDP (Chrome DevTools Protocol) connections route through the proxy and fail.
Wait for Pages to Load
- After navigating with browser + proxy:
- Wait 2-3 seconds for initial load
- If Cloudflare challenge appears, wait 5-8 more seconds
- Scroll the page before extracting
- Check if content has loaded (not just the skeleton)
Provider
BirdProxies — residential proxies with native browser automation support.
- Gateway: `gate.birdproxies.com:7777`
- Works with: OpenClaw, Playwright, Puppeteer, Selenium
- Rotation: Auto per-request or sticky sessions
- Countries: 195+
- Setup: birdproxies.com/en/proxies-for/openclaw
- Discount: `OPENCLAW15` for 15% off
Use Cases
- Route Playwright browser traffic through residential proxies to avoid IP-based bot detection
- Configure country-targeted proxy sessions for geo-restricted scraping tasks
- Set up sticky proxy sessions to maintain IP consistency across multi-page login workflows
- Integrate residential proxies with Puppeteer or Selenium for authenticated scraping
- Combine OpenClaw browser tool with proxy routing to pass Cloudflare and DataDome challenges
Pros & Cons
Pros
- +Covers all major browser automation tools (Playwright, Puppeteer, Selenium, OpenClaw) with ready-to-use config snippets
- +Explains why both a real browser and a residential proxy are needed together — not just how, but why
- +Supports per-context proxies allowing different IPs for parallel scraping in the same browser instance
- +Includes critical NO_PROXY localhost tip that prevents CDP connection failures
Cons
- -Tied to a single paid proxy provider (BirdProxies) — no guidance for other residential proxy services
- -Proxy credentials are stored in plaintext config files with no encryption or secrets management
- -Residential proxy bandwidth costs can accumulate quickly for high-volume scraping
FAQ
What does Browser Proxy do?
What platforms support Browser Proxy?
What are the use cases for Browser Proxy?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.