Proxies
Route a session's page traffic through a managed residential exit with one flag, or bring your own proxy. Managed proxies are included on paid plans and metered per GB beyond the pool.
Managed residential proxies
POST /sessions
{ "proxies": true } // residential, US, sticky exit IP { "proxies": { "country": "GB", // ISO-3166 alpha-2, default "US" "state": "ca", "city": "los_angeles", // optional, provider-dependent "type": "residential", // residential | isp | mobile "sticky": true // default true: same exit IP for the session's lifetime }}- Timezone, locale,
Accept-Languageand geolocation default to the exit country when you do not set them, so the browser and the IP agree. - WebRTC is restricted to the proxied path whenever any proxy is set — no local-IP leaks.
proxiesand the BYOproxyobject are mutually exclusive (400).- Supported countries:
GET /proxies/countriesreturns{ countries: [{ code, name, timezone, locale }] }(public, cached).
Bring your own proxy
POST /sessions
{ "proxy": { "server": "http://proxy:8080", "username": "u", "password": "p", "bypass": "*.internal" } }server is scheme://host[:port] with scheme http, https, socks5, or socks4. Credentials are answered over CDP and never appear on a command line or in the session object (they come back redacted). BYO traffic is not metered.
Usage and billing
| Plan | Included per month | Beyond the pool |
|---|---|---|
| Free | — | Managed proxies not available (BYO proxy works) |
| Starter | 1 GB | $8/GB, billed per MB |
| Pro | 5 GB | $8/GB, billed per MB |
Traffic is counted as request plus response bytes through the proxy, reported live on the session object as usage.proxy_bytes (refreshed about every 60 seconds; final on completion) and as a proxy.usage event on the session event stream. The console shows GB used against the included pool for the current period.
| Status | Meaning |
|---|---|
403 proxies_not_on_plan | The plan has no managed proxies (Free). Upgrade or use a BYO proxy. |
402 proxy_quota_exhausted | The included pool is used and no overage is available. |
402 payment_failed | The subscription is past due — update the payment method to use proxies again. |
503 proxies_unavailable | No managed provider is configured on this host — retry later or bring your own. |