Proxy Types

Rotating Residential Proxies: A Practical Guide

Rotating residential proxies give you a new home IP on every request or session. Learn how gateways, session IDs and geo-targeting work, typical pricing, and best practices for scraping.

By Team of Monkeys Editorial Updated 5 min read Affiliate disclosure

This guide contains affiliate links to Geonode, Webshare and Rayobyte. If you buy through them we may earn a commission, at no extra cost to you.

Rotating residential proxies guide illustration of a scraper whose requests rotate across many home IP addresses 3jdej38j4

What are rotating residential proxies?

Rotating residential proxies are residential proxies delivered through a gateway that automatically assigns a different residential IP for each request, or for each sticky session. You configure one endpoint, and the provider handles choosing from a pool of millions of home IPs.

How rotating, sticky and static IPs differ, and which session type suits scraping, logins and checkouts. Video: Decodo (formerly Smartproxy) on YouTube

They're the most common product sold by large proxy providers and the default choice for scraping protected websites.

How the rotation works

  1. You connect to a gateway such as gate.provider.com:7777.
  2. You authenticate with a username that may include targeting and session parameters.
  3. For each new connection (or each new session ID), the gateway picks an online residential peer matching your parameters.
  4. Your request exits from that peer's IP.

Without a session ID, each new TCP connection typically gets a new IP. Note that HTTP clients reuse connections with keep-alive, so several requests may share an IP unless you disable keep-alive or use a new session per request. Read backconnect proxies for the architecture.

Pick a country, any country (animated GIF) 3jdej38j4
Pick a country, any country. GIF via GIPHY

Controlling rotation

Typical username parameters (names vary by provider):

ParameterExampleEffect
Countrycountry-usUS IPs only
State/regionstate-californiaNarrower targeting
Citycity-losangelesCity-level targeting
ASNasn-7922IPs from a specific ISP
Sessionsession-abc123Sticky IP for this ID
Session timesesstime-10Sticky for 10 minutes

When to rotate per request vs use sessions

  • Per request: independent product pages, search results, listing pages, availability checks.
  • Sticky sessions: anything involving cookies or multi-step flows, and headless browsers loading full pages.

See sticky vs rotating sessions.

Pricing

Billed per GB transferred. Typical market ranges at the time of writing: roughly $3 to $8 per GB on small plans, roughly $1 to $3 per GB at volume. Check whether traffic expires monthly. For budget options, see best cheap residential proxies.

Proxy tip: Geonode is one of the providers that sells all of the main types under one account: rotating and sticky residential, static ISP proxies with unmetered bandwidth, and rotating datacenter proxies. That makes it easy to test which type a target actually needs. More in our Geonode proxies guide.

Best practices

  1. Retry with a new IP on failure. Don't retry the same blocked IP.
  2. Throttle per target, not just per IP. A site sees total traffic, even across many IPs.
  3. Keep headers and fingerprints realistic and consistent with location.
  4. Reduce bandwidth by fetching APIs or HTML only and blocking assets in browsers.
  5. Target only as narrowly as needed. City targeting reduces the available pool.
  6. Monitor success rate per country and per hour. Residential pools fluctuate with time zones as people go to sleep.
Cybernews compares residential proxy providers and explains how to pick one. Video: Cybernews on YouTube

Example: Python with retries

python
import random, string, requests

def session_proxy():
    sid = "".join(random.choices(string.ascii_lowercase, k=8))
    u = f"http://customer-USER-country-us-session-{sid}:PASS@gate.example.com:7777"
    return {"http": u, "https": u}

def fetch(url, tries=4):
    for _ in range(tries):
        try:
            r = requests.get(url, proxies=session_proxy(), timeout=30,
                             headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0 Safari/537.36"})
            if r.status_code == 200:
                return r.text
        except requests.RequestException:
            pass
    raise RuntimeError(f"failed: {url}")

Common rotating residential configurations

GoalConfiguration
Maximum IP diversityNo session ID; per-request rotation; country-level targeting
Short flows (search + paginate)Session ID per flow; 1 to 5 minute sessions
Browser scrapingSession ID per browser context; 10 to 15 minutes
Local dataCity or state targeting; sticky per batch
RafflesOne session per entry; region targeting

Keep-alive and rotation

HTTP clients reuse TCP connections for speed. With a rotating gateway, a reused connection may keep using the same exit, so "per-request rotation" may not happen as you expect. Options:

  • Use a new session ID for each request.
  • Disable connection pooling (slower).
  • Create a new client or session object per request batch.

Estimating monthly traffic

text
monthly GB ≈ pages per month × average KB per page ÷ 1,000,000 × (1 + retry overhead)

Example: 300,000 pages at 120 KB each with 20% overhead is about 43 GB. With a browser loading full pages at 2 MB each, the same job is about 720 GB. That difference decides whether residential is affordable. See proxy bandwidth pricing explained.

Budget tip: If you want a cheap proxy to try this with, Webshare has a free plan with 10 datacenter proxies and 1 GB of bandwidth a month, no card required. Paid lists let you pick proxy count, bandwidth and location. See Webshare rotating residential proxies.

Monitoring a rotating residential setup

Log for each request: session ID, exit IP (if exposed by the provider or an echo endpoint during testing), target, status, block detection, bytes and latency. Weekly, review:

  • Success by target and country.
  • Repeated IPs (pool thinning).
  • Bytes per success (creeping page weight).
  • Cost per 1,000 successes.

Choosing a provider

Compare live pool depth in your countries, session stability, targeting options, traffic expiry and price at your volume. See best residential proxies, best cheap residential proxies and residential proxy providers compared.

Residential tip: Rayobyte is worth testing when you need precise targeting: its residential proxies can be pinned to a country, state, city, ZIP code or ASN, with sticky sessions from 1 to 120 minutes. More in Rayobyte Premium Residential proxies.

A retry policy that doesn't pay twice

Every retry through a per-GB gateway costs money, so decide in advance which failures deserve one:

What you seeLikely causeRetry?
407Credentials, plan or balance problemNo. Fix the configuration
403 or a block pageIP or fingerprint flagged by the targetYes, once or twice, with a new session
429Rate limitYes, after a pause; honour Retry-After
502, 503 or 504 from the gatewayExit node dropped or unavailableYes, with a new session
TimeoutSlow exit or overloaded targetOnce, with a new session
404The page doesn't existNo

Cap the total. Two or three attempts per URL is usually enough, and a global retry budget (for example, no more than 15% of requests) stops a bad day from multiplying your bill. If retries climb past that, something structural has changed: the target's protection, your request rate or your targeting. Pause and investigate instead of paying for the same failure thousands of times.

Status codes are documented on MDN, for example 429 Too Many Requests. For what each proxy error means, see common proxy errors; for pacing, rate limiting and proxies; and for challenge pages that arrive with a 200 status, CAPTCHAs and proxies.

Rotating residential is the default choice for scraping, but not for every job. Our best proxies in 2026 guide compares it with ISP, datacenter and mobile options.

For a Webshare-specific walkthrough, see Webshare Rotating Residential Proxies, which explains the right product, settings and costs for this job.

For a third option, read Rayobyte Premium Residential Proxies; our Rayobyte vs Geonode vs Webshare IP Rotation comparison shows where Rayobyte, Geonode and Webshare each come out ahead.

FAQ

Are rotating residential proxies good for sneakers?

For raffles and account creation, yes. For checkout races, ISP proxies are usually faster. See residential proxies for sneakers.

Why do I sometimes get the same IP twice?

Small pools in your targeted location, or connection reuse in your HTTP client.

Can I choose which IP I get?

Not individually. You choose parameters; the gateway chooses the IP.

Sources and further reading

Independent references that back up the points above, from standards bodies, governments, universities and non-profits. They open in a new tab.

Affiliate disclosure: Team of Monkeys is an affiliate of Geonode, Webshare and Rayobyte. Links and banners marked as sponsored, and links to Geonode, Webshare and Rayobyte in the text, use our referral links, and we may earn a commission if you buy through them, at no extra cost to you. Our explanations and comparisons are written to be useful whichever provider you choose.

Editorial note: Proxy providers change their pools, features and prices often, so treat any figures here as typical ranges at the time of writing and confirm current terms with the provider before you buy.