All locations active · 99.99% uptime
Residential Proxy

Residential Proxy Rotation Settings

Rotation is the most powerful feature of a residential proxy — and the one most often misconfigured. In most scenarios the “change IP on every request” default drives the success rate drop, because natural user behavior does not look like that.

In this article we cover rotation triggers, choosing a target-based strategy, and why over-rotation is harmful.

Three Rotation Models

FIGUREComparison of rotation triggers
MODELTime / request basedOn every request or every N minutesPredictable and simpleGood for jobs that do not need sessionsFar from natural behaviorCan create unnecessary IP consumptionOutcome based (adaptive)Only after an error or a blockUses the IP to the fullestA more natural traffic patternSlightly more complex to implementSuperior in most production scenarios

The third model is a combination of the two: it works on an outcome basis, but sets an upper limit (for example, a maximum of 50 requests) to prevent the IP from being overloaded.

When Should You Rotate?

FIGUREHow is the rotation decision made?
DECISIONWhat did the request return?200 OK — content completeYESDO NOT rotateNOSee belowThe IP works, keep usin…429 / 503 — rate limitYESWait, then rotateNOSee belowBack off first403 / CAPTCHAYESRotate immediatelyNOSee belowThe IP is burned on this targetTimeoutYESRetry once, then…NOContinueMay be a temporary network issu…

Changing IP after a successful request wastes a working resource you already have. Use rotation as a corrective tool, not as default behavior.

Why Is Over-Rotation Harmful?

A real user does not change IP while browsing a site. A “user” arriving from a different country on every request is an extremely obvious signal for systems that run behavioral analysis. On top of that:

  • Cookies and sessions break: Cart, filter and language preferences are lost.
  • TLS session reuse is lost: Every new IP means a new handshake — both slow and expensive.
  • Pagination becomes inconsistent: Different exits may see a different A/B variant or a different price.
  • Quota drains quickly: Every handshake means a few KB of extra traffic.
FIGUREThe hidden cost of rotating on every request
COSTConnection reuse (sh…42 msNew TCP handshake78 msNew TLS handshake124 msRouting to a new exit node…156 ms0 ms400 ms total

Reusing the connection on the same IP is three to four times faster than rotating on every request. Rotation is a tool that has a speed cost.

Target-Based Strategy

A single rotation setting cannot be right for every target. Define different profiles according to the target's protection level:

Target typeSticky durationRequests per IPRotation trigger
Unprotected contentOverkill100+Errors only
Moderately protected marketplace3–5 min20–40Error + upper limit
Search engine1–2 min5–10Error + short duration
Operations that require a login15–30 minFor the whole sessionOnly at session end
Configuration method

Take this table as a starting point, then measure. If your success rate is above 95%, you can gradually increase the number of requests per IP and lower your cost. If it falls below 85%, roll it back.

Implementation: Adaptive Rotation Logic

FIGUREKeep the IP while it keeps succeeding, change it when an error arrives
Python — outcome-based rotation01import itertools, time, requests0203MAX_ISTEK = 40 # upper limit for the same IP04sayac = itertools.count()0506class Oturum:07 def __init__(self, ulke="tr"):08 self.ulke = ulke09 self.yenile()1011 def yenile(self):12 self.key = f"s{next(sayac)}{int(time.time())100000%}"13 self.kullanim = 01415 def url(self):16 u = f"{USER}-country-{self.ulke}-session-{self.key}-ttl-10m"17 return f"http://{u}:{PASS}@gateway.example.com:8000"1819o = Oturum()20for hedef in hedefler:21 r = requests.get(hedef, proxies={"https": o.url()}, timeout=25)22 o.kullanim += 123 if r.status_code in (403, 429) or "captcha" in r.text[:2000].lower():24 o.yenile() # IP burned → rotate immediately25 time.sleep(2)26 elif o.kullanim >= MAX_ISTEK:27 o.yenile() # upper limit → planned rotation

This structure combines two triggers: rotate immediately on an error, otherwise at the upper limit. Successful requests do not waste IPs.

The Relationship Between Rotation and Concurrency

Rotation alone is not enough. If you send 50 requests at once and they all use different IPs, the target will still notice the heavy traffic within a short time. Rotation distributes identity , but it does not distribute speed .

FIGURERotation + rate management together
BALANCEJob queueallocated per targetTarget A — 2 requests/s5 concurrent, 10 IPs%33Target B — 0.5 requests/s2 concurrent, 20 IPs%17Target C — 6 requests/s15 concurrent, 8 IPs%50

Define a separate rate and concurrency profile for each target. A single global setting either burns your most sensitive target or slows down the most tolerant one.

For calculating concurrency, see our concurrent connection limit article .

Measuring Your Rotation Setting

The only way to find the right setting is to measure. Three metrics you should track:

FIGUREMetrics for evaluating your rotation setting
METRICSuccess %Request success rateShould be 90%+ depending on the targetIP/requestRatio of IPs consumedIf it is low, you are using them efficientlyGB/1000Traffic per thousand requestsRises as rotation increases

Read the three metrics together. If you can lower the IP/request ratio while the success rate stays steady, you have directly reduced your cost.

Summary

Rotation is a corrective tool, not a default. Changing IP after successful requests wastes both speed and budget and does not look natural. The right setup combines an outcome-based trigger with a sensible upper limit; it defines per-target profiles and handles rotation together with rate management. To test your implementation see proxy checker, and for product options see rotating proxy page.

Frequently Asked Questions

01Isn't changing IP on every request the safest approach?

No. Real users do not change IP while browsing; constant rotation produces a clear anomaly in behavioral analysis. It is also inefficient in terms of speed and cost.

02How many requests can I send per IP?

It depends on the target's tolerance. Hundreds is reasonable on unprotected content, while 5–10 requests is a sensible starting point on search engines. You need to find the right number experimentally by monitoring your success rate.

03Should I change IP immediately when I get a 429?

Apply a short wait first. A 429 is usually a temporary rate limit rather than a permanent block. If you still get a 429 after waiting, rotate.

04Does rotation increase my quota consumption?

Yes. Every new IP means a new TCP and TLS handshake, which adds a few KB of extra traffic per request. On high-volume jobs the difference becomes noticeable in total.

05Can I use different rotation settings for different targets?

You should. A single global setting either gets you blocked on your most sensitive target or slows you down needlessly on the most tolerant one. Define a profile per target.

Related Articles and Pages

NEXT STEP

Strengthen your proxy setup today.

Get started in minutes with a paid plan, or try our free proxy list first.

FREEPROXY.TR

Looking for a free proxy? You're in the right place

A complete proxy platform where you can browse up-to-date free proxy addresses, compare HTTP and SOCKS proxy types, and check your proxy connections with free tools.