Skip to content

Proxies

Every request leaves through a proxy: ours or yours. Never from our own address, which is the only reason this works at all.

The managed pool

The default. Residential addresses, rotating per request, with the exit country yours to choose. Bandwidth is metered: the first megabyte of every request is included, and the rest is charged per megabyte.

Choosing a country

proxy.country
{
  "url": "https://example.com",
  "proxy": { "pool": "residential", "country": "br" }
}

Two letters, ISO 3166-1. Name one and the pool leaves from that country; leave it out and the page sees a US browser, from an address we pick. A site whose address ends in `.br`, `.de`, `.es`, `.fr`, `.it`, `.jp`, `.nl`, `.pl` or `.uk` is the exception: a scrape or a map on the managed pool reads it from its own country, because those sites answer a visitor from home more often. Useful when a page decides what to show by where you are: a price, a language, a store. The browser's clock and languages follow the country, so the page sees one place rather than an American clock behind a Brazilian address. On your own proxy the country sets only that identity. The exit is yours.

Choosing a state or a city

proxy.state · proxy.city
{
  "url": "https://example.com",
  "proxy": { "country": "br", "state": "paraná", "city": "curitiba" }
}

Add `state` or `city` to pick a place inside the country. Write the name out the way a person would: `são paulo`, `new york`. Abbreviations like `sp` or `ny` find nobody. A city is not exact: most calls leave from it, and a few from somewhere else in the same state. A small place may have nobody free at the moment, and then the call answers `PROXY_REFUSED` and costs nothing. Ask for the state, or only the country, and it goes through. Both fields need `country` and work only on the managed pool. In the US and Brazil, the browser's clock follows the state. Search reads a whole country's results, so it takes only `country`.

Bring your own

proxy.pool "custom"
{
  "url": "https://example.com",
  "proxy": { "pool": "custom", "server": "http://user:pass@proxy.example:8080" }
}

Point us at your own proxy and we use it instead. Free on every plan including the free one, and its bytes are never billed. You are already paying your provider. The acceptable-use list does not apply to your own exit; the private-address guard still does, on every pool, always.

What the managed pool will not do

Private and loopback addresses are refused before anything dials, on every redirect hop, not just the first. Banking, government, webmail sign-in, ticketing, streaming and app stores are refused by policy. It is the same list every upstream provider bans. Both answer immediately, and neither costs a credit, unless your own browser.actions script led the page there.