For AI agents: a documentation index is available at /llms.txt
Skip to main content

Change Your Browser's IP Address Using Proxies

Route browser traffic through a residential or datacenter proxy so target websites see a different IP. This is useful for geo-restricted content, rate-limit avoidance, and reducing bot-detection signals tied to datacenter ranges.

Prerequisites

Steps

Add proxy=residential (or proxy=datacenter) and optionally proxyCountry to your connection URL. The example navigates to an IP-check page and returns the proxy IP to confirm routing is working.

More proxy options
  • proxy=datacenter — faster and cheaper (2 units/MB vs 6 units/MB for residential), but easier for sites to detect
  • proxySticky=true — keep the same IP for the full browser session
  • externalProxyServer=http://user:pass@host:port — route through your own proxy server instead
  • proxyLocaleMatch=true — automatically set the browser locale to match the proxy country

Add proxy parameters to the /scrape endpoint URL. Browserless handles proxy negotiation server-side, so your request looks identical to a normal scrape. Only the egress IP changes.

View Full Code on GitHub

1. Send the request

curl -X POST \
"https://production-sfo.browserless.io/scrape?token=YOUR_API_TOKEN_HERE&proxy=residential&proxyCountry=us" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.ipify.org?format=json",
"elements": [{ "selector": "body" }]
}'

2. Check the output

The text field contains the JSON response from ipify showing the proxy IP. Confirm it differs from your local or datacenter IP:

{
"data": [
{
"selector": "body",
"results": [
{
"text": "{\"ip\": \"203.0.113.42\"}",
"html": "{\"ip\": \"203.0.113.42\"}"
}
]
}
]
}

Next steps