In plain English: "rotating proxies" sounds like one simple thing, but providers mean slightly different things by it. This article is for when you've used a proxy or two and want to know what's going on behind the scenes, so you can set yours up properly and see through the claims in proxy adverts.
What happens behind the scenes
You connect to a single address called a gateway, for example gate.example.com:7000. Behind it, the provider keeps a large collection of addresses, called a pool, and sends each of your requests out through one of them. You only ever type in the gateway; the switching happens on the provider's side.
The pool can be made up of:
- Datacenter addresses: server addresses the provider owns.
- ISP addresses: fixed addresses registered to home internet providers. (Here these come with Residential Premium; there's no separate ISP plan.)
- Residential addresses: home connections shared by people who agreed to it.
- Mobile addresses: connections on phone networks.
Keeping one address: session IDs
Rotation comes in two styles:
- Per request: a new address every time. Good for lots of separate page visits, no good for staying logged in.
- Sticky session: you add a session ID (a label you make up), and every request carrying that label keeps the same address for a set time, commonly 1-30 minutes.
Many providers put the session ID inside the username, written as session-{id}. For example:
user-abc123-session-xyz789:[email protected]:7000
Same label, same address. Change the label and you get a new address. Some providers let you add a country or city to the username in the same way:
user-abc123-country-us-city-newyork-session-xyz789:[email protected]:7000
The exact format differs from one provider to the next, so copy it from your own dashboard, not from an example online.
Why a big pool number can mislead
Adverts love a headline such as "100 million IPs!". What matters to you is much smaller and more specific:
- How many addresses are online in your country when you need them. If you want US home addresses and only 5,000 are available while your job runs, then 5,000 is your real pool.
- How clean those addresses are. An address that was recently used for abuse may already be blocked on the sites you care about.
- How varied the networks are. If every address comes from one internet provider, a site can block that whole provider's range for a day, and your pool shrinks to nothing.
Counting the cost
Rotating residential proxies are almost always billed by the gigabyte, and data adds up quicker than most people expect: images, scripts and retries all count. Here every type is billed per GB, datacenter included, and each order lasts 30 days. Estimate first with our proxy calculator and start with a small order.
Four tests before you commit
- Does it work on your site? Send 1,000 requests at a gentle pace and count the replies: 200 means the page loaded, 403 and 429 mean you were blocked or told to slow down, and a CAPTCHA page means the site is suspicious.
- Are the addresses really different? Run 100 IP look-ups and count how many distinct addresses come back.
- Is it quick enough? Residential is slower than datacenter, so make sure it's still comfortable for your task.
- Is the location right? Ask for Germany and check you really land in Germany with our IP lookup tool.
Common mistakes
- Rotating on every request while logged in. The session breaks.
- Using one session ID for everything. That quietly switches rotation off.
- Ignoring 429 replies. Even with rotation, slow down, start a new session and try again later.
- Carrying cookies from one address to another. The same login cookie turning up from a new address looks like a stolen session to many sites, and they may lock the account.
How rotation works here
On our proxy plans you choose rotating or sticky in the dashboard, depending on the type you bought, with sticky windows from 1 to 30 minutes and no extra charge for either. You can pick a country on every type, and a city in many places, depending on the type. With SOCKS5 you can also let the proxy look up website names for you (in cURL that's the socks5h:// scheme), which keeps those look-ups off your own connection.