Rotating Proxy: How Rotation Actually Works and When It Hurts
Every proxy provider advertises rotation. The word hides the only decision that matters: when does the exit change, and what state does it carry across the change?
Get that wrong and rotation makes a working scraper worse. A cart empties, a login drops, a rate limit follows you across five IPs because the requests themselves are the problem.
Three things "rotating" can mean
Providers use one word for three different policies. Ask which one you are buying before you compare prices.
Per-request rotation changes the exit on every HTTP request. It spreads load aggressively, and it breaks any workflow that depends on cookies or a consistent client identity.
Per-connection rotation changes the exit each time your client opens a new TCP connection. Keep-alive reuses one connection, so several requests may share an exit. This is what a ProxyBase rotating session does.
Sticky rotation pins one exit for the session and changes it only when you ask, or when the seller disconnects. The exit is stable until the rotation event.
That distinction decides which requests succeed. A client that reuses connections on a rotating session is effectively running a sticky session, whether the provider calls it that or not.
What rotation solves, and what it does not
Rotation changes the IP and the ASN behind it. That helps when a target rate-limits an address, blocks a datacenter range, or applies a per-IP quota. A fresh residential exit can reset those counters.
It does not change your TLS fingerprint, your header order, your request rate, or your account permissions. If those are the signals getting you blocked, more IPs will not help. Rotation schedules exits; it does not change what you are allowed to do.
Match the rotation policy to the workload
| Workload | Use | Why |
|---|---|---|
| Login, cart, multi-step form | Sticky | Cookies and state must come from one origin |
| Paginated crawl | Sticky | Pagination tokens and rate limits are per session |
| Independent URLs at scale | Rotating | No shared state, so spread the load |
| Retry after a block | Rotate once | A new exit resets the IP signal without changing the request |
| Long-lived agent session | Sticky, rotate on failure | Identity stability matters more than load spread |
If you are unsure, start sticky. A sticky session can be rotated deliberately. A rotating session cannot be made sticky retroactively, and a broken login flow is harder to debug than a slow crawl.
Open a rotating session
With ProxyBase, the rotation policy is a field on the session. Country and network type are also set here, not in the credential string. The username is the session ID and the password is your session token.
The top-level requests.get call already opens a fresh connection per call. The trap is a requests.Session object, which pools connections and therefore pins the exit until the pool recycles. Keep the Session for cookies if you need them, but send Connection: close when you want a new exit.
Rotate a sticky session on purpose
A sticky session holds one seller. When that seller starts returning blocks, you can move the session to a new eligible seller in the same country and network bucket without opening a new session.
The response includes the previous seller, the new seller, and the new exit IP. The call costs one cent (10,000 microcredits). If the rotation fails, you are not charged. Only sticky sessions can be rotated this way, because rotating sessions already pick a seller per connection.
Verify the exit instead of trusting the label
Log the exit IP before a job and after each rotation. If you asked for US residential, assert on the country returned by an echo endpoint. A session that silently falls back to another bucket is worse than a failed request, because it corrupts the dataset without an error.
With curl, the flag is --socks5-hostname. With Python, keep the socks5h:// prefix. Both hand DNS resolution to the exit node, so your resolver and your connection origin stay on the same side.
What rotation costs
Rotation itself is mostly free in per-GB pricing. ProxyBase residential starts at $3 per GB and mobile at $5 per GB. The manual sticky-rotation call costs one cent. The expensive part is retries: a blocked request that you repeat three times bills three times.
Set a spend cap when you open the session, and cap retries at two or three attempts. If a request fails twice on two different exits, the problem is probably not the IP.
Five rotation mistakes that get scrapers blocked
- Rotating on every request inside a stateful flow. Cookies and carts do not survive a new exit.
- Assuming a rotating session rotates per request. Keep-alive can pin one exit for a whole batch.
- Rotating before changing the request. If the fingerprint or rate is the problem, every exit fails the same way.
- Pushing high concurrency through one exit. Twenty workers behind one IP look like an attack.
- Never logging the exit. Without the IP and country, you cannot tell a proxy problem from a target rule.
What rotation does not authorize
A new IP changes where a request comes from. It does not change what you are allowed to do. Respect the target's terms and robots rules, do not use rotation to bypass authentication or a paywall, and do not collect personal data without a lawful basis. If the plan only works while the target believes you are someone else, rotation is not the missing piece.
Frequently Asked Questions
What is a rotating proxy?
A single endpoint that routes new connections through different exit IPs from a pool. You authenticate once and the provider selects the seller. The rotation policy decides when the exit changes.
What is the difference between rotating and sticky?
Rotating matches a new exit per connection. Sticky holds one exit for the session so cookies, carts, and login state stay coherent. Use sticky for stateful work and rotating for independent URLs.
Does a rotating session change the IP on every request?
Not necessarily. ProxyBase rotating sessions match a new seller per SOCKS5 connection. Keep-alive reuses the connection, so several requests can share one exit. Send Connection: close or open a new connection to rotate.
Can I rotate a sticky session manually?
Yes. POST /v2/sessions/{id}/rotate moves an active sticky session to a new seller in the same country and network bucket. It costs one cent and returns the new exit IP. Rotating sessions cannot be manually rotated.
How much does a rotating proxy cost?
ProxyBase starts at $3 per GB for residential and $5 per GB for mobile. Manual sticky rotation is one cent per call. Retries and failed requests consume bandwidth too.
Do rotating proxies stop blocks?
They reset the IP and ASN signal. They do not fix a stale TLS fingerprint, a bad header set, or an automated request rate. Fix the request pattern first, then rotate.