GlossaryWeb ScrapingIntermediate

IP Rotation

IP rotation is the practice of deliberately changing the source IP address your requests come from, spreading a large job across many addresses so no single one exceeds what a target tolerates.

Last updated August 14, 2026

Definition

IP rotation is the practice of deliberately changing the source IP address your requests come from, so a large volume of traffic arrives spread across many addresses instead of concentrated on one. It is the technique; a rotating proxy is the product that implements it for you.

The distinction matters when deciding what to buy. You can rotate addresses yourself by holding a list and cycling through it in code. Most people do not, because maintaining that list — testing addresses, retiring burned ones, replacing them — is considerably more work than the rotation itself.

Four strategies, not one

  • Per request — a new IP for every call. Maximum spread, no continuity. Correct for stateless crawling.
  • Timed — a new IP every few minutes regardless of request count. Simple, and it keeps short workflows intact by accident rather than by design.
  • Per session — one address held deliberately for a defined task, then discarded. This is a sticky session, and stateful work requires it.
  • On failure — keep an address until it returns a 403, a 429, or a CAPTCHA, then rotate and retry. Efficient with expensive pools, but every rotation is triggered by a request you have already lost.

Mature scrapers combine them: sessions for anything stateful, per-request for bulk pages, and failure-triggered rotation underneath both as a safety net.

How fast should you rotate?

Faster is not better. Rotating on every request discards every warm TCP connection and TLS handshake, which is measurably slower, and it produces a pattern — one request per address, never returning — that resembles no human browsing session at all.

Work backwards from the target instead. If a site tolerates roughly 60 requests an hour from one address and you need 60,000 requests in that hour, you need about 1,000 addresses in play. Volume divided by the rate the target tolerates is the number that matters — not the pool size you were sold.

Diversity beats raw count

A pool of 10,000 addresses that all sit in the same /24 subnet behaves like a handful of addresses, because anti-bot systems block by range and by ASN rather than one IP at a time. When comparing providers, ask how many distinct subnets and ASNs a pool spans, not how many addresses it claims.

Geographic consistency matters just as much. Rotating one user's session across three continents in ten minutes is a stronger bot signal than never rotating at all. Pin rotation to a single country, or a single city, whenever the task implies a location.

When rotation is the wrong tool

Rotation solves rate limits. It does not solve identity. Anything that involves being logged in, holding a basket, completing a multi-step form, or maintaining an account over weeks needs a stable address — and for that an ISP proxy is usually the better purchase. Rotating mid-task does not make you anonymous; it makes you fail.

It is only one layer

Your user agent, headers, TLS fingerprint, cookies, and request timing all survive a rotation completely untouched. If those stay identical across a thousand addresses, you have not created a thousand visitors — you have created one very conspicuous visitor holding a thousand IPs. Pair rotation with throttling and per-session fingerprints, or it buys you far less than you paid for.

Examples

1

Cycling through a residential pool so each of 50,000 scrape requests uses a different address

2

Holding one sticky IP through a multi-step login, then rotating once the task completes

3

Rotating only after a 429 response, so a working address is used right up to the moment it stops working

4

Sizing a pool at 1,000 addresses because the target tolerates 60 requests per hour and you need 60,000

5

Restricting rotation to German addresses so a localised price check stays geographically consistent

Common Use Cases

Staying beneath per-IP rate limits on high-volume crawls
Spreading requests so no single address accumulates enough activity to earn a ban
Collecting search results and pricing from many different vantage points
Testing how a service behaves from a range of networks and regions
Simulating many independent users for load or availability testing
Recovering automatically when an address is blocked mid-job

Frequently Asked Questions

IP rotation is the technique of changing your source address. A rotating proxy is a service that performs it for you behind a single gateway, including the unglamorous part — testing addresses and retiring burned ones — that makes doing it yourself impractical at scale.
As slowly as the target allows. Every rotation throws away a warm connection, and one-request-per-address is a pattern no human produces. Match your rotation rate to the site's tolerance rather than rotating as fast as your provider permits.
Divide the requests you need per hour by the requests one address can safely make per hour on that target. Needing 60,000 an hour against a limit of 60 means roughly 1,000 addresses. Pool sizes quoted in millions are marketing, not a requirement.
No. It defeats per-IP counting and nothing else. Fingerprints, headers, cookies, and timing carry across rotations unchanged, and an identical fingerprint appearing from a thousand addresses is itself a clear automation signal.
Yes, by holding your own list and cycling it in code. The rotation logic is trivial; sourcing addresses, monitoring which have been flagged, and replacing them continuously is the actual cost, and it is what you are paying a provider to absorb.
No. Changing address mid-session usually invalidates the login and looks like account takeover to the platform. Use a sticky session for the duration of the task, or a static ISP address if the account is long-lived.
Usually, yes. Blocks are applied to ranges, so 10,000 addresses inside a few /24s can be neutralised by a few rules. Ask how many distinct subnets and ASNs a pool covers before comparing headline address counts.