The essential points from this guide -- each one is explained in detail below.
Pool managers track each IP's health metrics: success rate, ban count, last-used timestamp, and target-specific reputation.
Per-request rotation assigns a fresh IP to every connection; timed rotation holds an IP for a set duration (1-30 minutes).
Cooldown periods (5-60 minutes) let banned or flagged IPs recover their reputation before re-entering the active pool.
Target-aware rotation avoids sending the same IP to the same domain twice within a configurable window.
Pool segmentation by country, city, and ASN ensures targeting parameters are met without exhausting the full pool.
An IP rotation system starts with a pool -- a data structure mapping each available IP to its metadata: country, city, ASN, current connection count, last-used timestamp per target domain, cumulative success rate, and health status (active, degraded, or cooldown). The pool manager continuously updates these fields based on real traffic outcomes.
When the pool contains millions of IPs (KnoxProxy's residential pool exceeds 90.4M), the data structure must support fast lookups by geographic filter and fast random selection. Production systems typically use in-memory hash maps partitioned by country, with weighted random selection within each partition. This allows the gateway to select a healthy IP matching the requested country in microseconds, even at scale.
The simplest assignment is uniform random: pick any active IP from the filtered pool. This works at small scale but ignores IP quality differences. Weighted random assigns higher probability to IPs with better recent success rates, spreading load to the healthiest nodes. Least-recently-used (LRU) selection picks the IP that has been idle the longest, maximizing the gap between consecutive uses on the same target.
Target-aware algorithms add a constraint: never assign an IP that was used on the same domain within a cooldown window (for example, 10 minutes). This requires maintaining a per-domain usage log for each IP. At 90.4M IPs and thousands of target domains, this log is typically implemented as a bloom filter or time-bucketed hash set to keep memory usage manageable.
Every response that flows back through the rotation system feeds the health engine. A 200 response increments the IP's success counter. A 403, 429, or CAPTCHA response increments its ban counter. When the ban rate for an IP exceeds a threshold (for example, 3 failures in 10 requests on the same domain), the IP enters cooldown for that domain. During cooldown, the IP is excluded from selection for that specific target but remains available for other domains.
Global cooldowns apply when an IP fails across multiple unrelated targets, suggesting the IP itself is compromised (blacklisted, flagged by a threat intelligence feed, or offline). Global-cooldown IPs are moved to a quarantine pool and probed periodically with health-check requests. If they recover, they re-enter the active pool at a reduced weight.
Per-request rotation assigns a new IP to every single HTTP request. This is the default for web scraping because it minimizes the fingerprint each IP leaves on the target. Timed rotation (also called sticky rotation) holds the same IP for a configurable window -- typically 1, 5, 10, or 30 minutes. This is necessary for multi-step workflows where changing IP mid-session would break authentication or trigger security challenges.
The rotation type is usually selected by the client via the username string. For example, user-session-abc123-sessTime-10 tells KnoxProxy's gateway to hold the same IP for 10 minutes. Under the hood, the gateway hashes the session ID to a consistent exit IP and renews the assignment when the timer expires.
Ready to put this into practice? Browse Rotating Proxies
KnoxProxy Research Team · Technical Content
Network engineers and proxy infrastructure specialists with 10+ years in anti-bot systems, web scraping, and IP routing.
90.4M+ ethically sourced residential IPs across 195 countries. Start free -- no credit card required.