Rotating Proxy for Scraping: How to Pick the Right Setup for Your Target Sites
Not every rotating proxy setup works for every scraping job. Use the wrong rotation mode on a login-dependent site and you'll blow through sessions. Use sticky proxies on a high-volume public scrape and you'll burn IPs faster than you rotate them. This guide breaks down how to match your rotating proxy configuration to the site you're targeting. We'll cover rotation modes, proxy types, pool size requirements, and walk through a practical decision matrix so you stop guessing and start scaling.
Valentin Ghita
Technical Writer, Marketing, Research
Mihalcea Romeo
Co-Founder, CTO
What Is a Rotating Proxy and Why It Matters for Scraping
A rotating proxy is a proxy setup where your IP address changes automatically between requests, instead of staying fixed on one address the entire session. When you scrape without rotation, the target site sees the same IP hammering its servers hundreds or thousands of times. Rate limits kick in, then CAPTCHAs, then outright bans.
With a rotating proxy, each request (or group of requests) appears to come from a different IP. To the target site, it looks like hundreds of different users browsing normally rather than one bot running a job.
The most effective way to run a rotating proxy for scraping is through a backconnect proxy setup: one gateway endpoint that handles all the rotation behind the scenes. You configure your scraper once, point it at the backconnect host and port, and the rotation layer does the rest. No manual IP lists, no switching logic in your code.
But even with that foundation in place, you still need to make two decisions that determine whether your scraper runs clean or runs into walls:
- Rotation mode - per-request or sticky session?
- Proxy type - datacenter or residential?
Get both right for your target site, and your scraper runs reliably at whatever volume you need.
Rotation Mode: Per-Request vs Sticky Sessions
This is the first decision point, and it depends entirely on what you're scraping and how the target site tracks users.
Per-Request Rotation
Per-request rotation assigns a fresh IP every time your scraper sends a request. The target site never sees the same IP twice (assuming your pool is large enough). This is the default and the most effective mode for high-volume public scraping.
Best for:
- Product pages, listings, and public catalog data
- Search engine results and SERP tracking
- News sites and publicly accessible databases
- Any target where you don't need to maintain session state
Why it works: Sites track abusive traffic by IP. If each request comes from a fresh address, no individual IP accumulates a suspicious request count. Your scrape looks like scattered organic traffic rather than a coordinated bot.
Watch out for: If the site uses JavaScript rendering or sets a tracking cookie on the first page load, then validates that cookie on subsequent requests, rotating IPs per-request will break the session and you'll get redirects or empty responses.
Sticky Sessions (Session-Based Rotation)
Sticky sessions keep the same IP for a defined duration, typically 5 to 30 minutes depending on the provider, or for the lifetime of a specific workflow. After the session ends (or you close it), the next request gets a fresh IP.
Best for:
- Login-dependent scraping where the site ties your session to an IP
- Multi-step workflows: add to cart, checkout flows, form submissions
- Sites that serve personalized content based on session cookies
- Account management tasks where switching IPs mid-session triggers security checks
Why it works: Some sites explicitly validate that the IP making authenticated requests matches the IP that initiated the session. Mid-session IP switches get flagged as stolen session tokens. Sticky mode avoids this entirely by holding one IP for the full workflow.
Watch out for: Sticky sessions increase your ban exposure per IP. The longer you hold an IP against a target site, the more that IP accumulates risk. Keep session durations as short as your workflow allows, and rotate aggressively between sessions.
The Hybrid Approach
Most production scrapers use both modes: per-request for the bulk catalog scraping and sticky sessions for the authenticated workflows on the same domain. A good backconnect proxy service supports both modes through the same gateway, switchable via URL parameters or separate port ranges.
Proxy Type: Datacenter vs Residential for Different Target Sites
Once you've chosen a rotation mode, you need to pick the right IP type. This decision comes down to how aggressive the target site's bot detection is.
Rotating Datacenter Proxies
Datacenter proxies originate from server infrastructure, not from real home internet connections. They're fast, cheap, and available in large pools, which makes them the right tool for most scraping jobs.
Strengths:
- Sub-100ms response times on most targets
- Large pool sizes (easier to rotate without IP reuse)
- Much lower cost per request compared to residential
- Reliable uptime on enterprise hardware
Weakness: Experienced anti-bot systems (Cloudflare, Akamai, DataDome, PerimeterX) can identify datacenter IP ranges using ASN databases and known hosting provider CIDR blocks. If the target site uses one of these systems aggressively, datacenter IPs may face higher CAPTCHA rates or blocks.
Works well on:
- Public e-commerce catalogs (most mid-tier retailers)
- Job boards and real estate listing sites
- News sites, forums, and general-purpose public pages
- Search engines for lower-volume SERP tracking
- Price comparison and review aggregation
Rotating Residential Proxies
Residential proxies are IP addresses assigned by real ISPs to real home internet users. They look identical to organic traffic because they effectively are organic traffic.
Strengths:
- Near-undetectable by ASN-based bot detection
- Accurate geolocation data (city and ISP level)
- Trusted by high-security sites that block datacenter ranges
Weakness: Slower than datacenter (you're routing through a home connection), more expensive per GB, and pool availability varies by geography.
When you need residential proxies:
- Amazon product and pricing data (heavy datacenter blocking)
- Social media platforms (Instagram, Twitter/X, LinkedIn)
- Sneaker and ticketing sites with hardcore bot protection
- Sites running Cloudflare in aggressive mode
- Any target where datacenter IPs are consistently returning 403s or CAPTCHAs
The Practical Call
For most scraping operations, start with rotating datacenter proxies. They handle the vast majority of public web scraping targets at a fraction of the cost. If you hit consistent blocks on a specific target, switch that target to residential proxies while keeping the rest on datacenter.
Running rotating backconnect proxies gives you per-request IP rotation on a large datacenter pool through one connection endpoint. That covers 80% to 90% of typical scraping targets without the residential premium.
Pool Size: Why It Matters More Than Most People Think
Pool size is the number of unique IPs your rotating proxy has available. This directly affects your ban rate.
Here's the math: if you send 10,000 requests through a pool of 100 IPs, each IP averages 100 hits on the target site. That's easily enough to trigger rate limits. If you send the same 10,000 requests through a pool of 5,000 IPs, each IP averages 2 hits - well below any detection threshold.
Pool Size by Target Site Type
| Target Site Type | Aggression Level | Minimum Recommended Pool | Rotation Mode |
|---|---|---|---|
| General news / blogs | Low | 500+ IPs | Per-request |
| Mid-tier e-commerce | Medium | 1,000+ IPs | Per-request |
| Job boards / real estate | Medium | 1,000+ IPs | Per-request |
| Google / Bing SERPs | High | 5,000+ IPs | Per-request |
| Amazon / major retailers | Very high | Residential pool | Per-request |
| Social media platforms | Very high | Residential pool | Sticky session |
| Login-dependent workflows | Varies | Varies | Sticky session |
The bigger the pool, the lower the exposure per IP, and the longer you can run before any individual address draws enough attention to get blocked.
Site-Type Decision Matrix: Matching Proxy Setup to Target
Use this matrix to map your scraping target to the right configuration before you start. Getting this wrong upfront is expensive - you'll burn time on failed jobs and possibly burn IPs that you could have preserved with the right setup.
| Target Site | Detection Level | Recommended Proxy Type | Rotation Mode | Notes |
|---|---|---|---|---|
| News sites, blogs, public directories | Low | Rotating datacenter | Per-request | Straightforward scraping, large pool not required |
| Mid-tier retail (product catalogs) | Medium | Rotating datacenter | Per-request | Rotate on every request, 1K+ pool |
| Real estate, job boards | Medium | Rotating datacenter | Per-request | Watch for pagination session checks |
| SERP tracking (Google, Bing) | High | Rotating datacenter | Per-request | Large pool, geo-targeted IPs preferred |
| Amazon, Walmart | Very High | Rotating residential | Per-request | Datacenter IPs consistently blocked |
| Travel booking sites | High | Rotating residential | Sticky session | Session + geo accuracy matters |
| Social media (read-only) | Very High | Rotating residential | Sticky session | Account risk requires stable IPs |
| Login-dependent data collection | Varies | Rotating residential | Sticky session | Never switch IPs mid-authenticated session |
| Ad verification, geo-checks | High | Rotating residential | Per-request + geo targeting | IP location accuracy is critical |
How Backconnect Proxies Simplify the Whole Setup
The traditional way to run rotating proxies was to maintain a proxy list, write rotation logic into your scraper, and handle failed IPs manually. That approach works at small scale and falls apart fast once you're running serious volume.
A backconnect proxy collapses all of that into one endpoint. You configure one host and port in your scraper. The backconnect gateway handles assigning IPs from the pool, detecting failed IPs and replacing them, rotating per-request or holding sessions, and rebalancing load across the pool automatically.
From your scraper's perspective, there's nothing to manage. You write your code as if you're using a single proxy, and the backconnect layer handles the rest behind the scenes. This works with Scrapy, Playwright, Puppeteer, Selenium, cURL, and any HTTP client that accepts a proxy setting.
For a full comparison of DIY rotating proxy setups vs managed backconnect services and the real-world maintenance overhead of each, see our guide on how to set up a rotating proxy server for large-scale data collection.
Practical Checklist Before You Start Scraping
Run through this before you fire up your scraper on a new target:
1. What's the target site's protection level? Check if it's running Cloudflare, Akamai, DataDome, or PerimeterX. These indicate residential proxies are likely required. A quick test: send a few requests through datacenter IPs and check if you get 403s, CAPTCHA challenges, or just normal responses.
2. Does your workflow need session continuity? If you're scraping data that requires a login, or if you're navigating multi-step flows, sticky sessions are mandatory. If you're scraping public pages, per-request rotation is better.
3. What volume are you running? Estimate total requests per target domain per day. Divide by your pool size. If the average requests per IP exceeds 50 to 100 for a medium-protection site, you need a larger pool.
4. Do you need geo-specific results? Some content is geo-restricted or varies by location. If you need results from a specific country or city, use proxies with geo-targeting and verify the IP location before running at scale.
5. Have you set request delays? Even with rotating proxies, hammering a target at full speed is detectable by request pattern analysis (not just IP). Add randomized delays between requests to mimic human browsing cadence. A range of 2 to 8 seconds per domain works for most targets.
Common Mistakes That Get Scrapers Blocked (Even with Rotating Proxies)
Reusing the same IP too fast. If your pool is too small for your volume, IPs repeat too often. The target site sees the same IP appear 80 times in an hour and flags it.
Ignoring user-agent headers. Rotating IPs without rotating user-agent strings sends a mixed signal. Every request from your rotating pool should also randomize the User-Agent header to match realistic browser signatures.
Not handling rate limit responses. When the target returns a 429 or soft block, your scraper should back off on that IP immediately, not retry the same request. A smart backconnect setup marks that IP as blocked and assigns a fresh one automatically.
Using sticky sessions when you don't need them. Holding an IP for longer than necessary accumulates risk per IP. If the task doesn't require session continuity, per-request rotation is always the safer choice.
Starting too fast. Ramp up request rate gradually when hitting a new target for the first time. Blasting 1,000 requests in the first minute tells the site's anomaly detection that something unusual is happening before you've had a chance to establish a normal traffic pattern.
Choosing a Rotating Proxy Provider: What to Look For
Once you know your setup requirements, here's what separates a reliable rotating proxy provider from one that burns your time and budget:
Pool size transparency. Providers should be upfront about how many unique IPs are in their pool and how frequently those IPs are refreshed. A pool of 500 shared IPs across hundreds of customers is very different from a dedicated pool of 5,000.
Rotation control. You need to be able to switch between per-request and sticky session modes. Providers that only offer one mode limit what you can do with a single account.
IP type options. Look for a provider that offers both datacenter and residential proxies so you can match the proxy type to the target site without juggling multiple vendors.
Geo-targeting. If any of your targets serve geo-specific content, you need the ability to specify the country (and ideally city) your requests appear to originate from.
Backconnect gateway. A provider that uses a backconnect model (single endpoint, rotation handled server-side) is far easier to integrate and maintain than one handing you a rotating list to manage yourself.
Our rotating backconnect proxies check all of those boxes: single gateway endpoint, per-request and sticky session modes, large datacenter IP pool, and geo-targeting by country. If you're working on targets that need residential-level trust, we can point you in the right direction there as well.
For a broader look at how to pick the right proxy type for different scraping projects, including a full breakdown of shared vs dedicated vs backconnect, see our complete guide on proxy for web scraping.
Summary
Getting your rotating proxy setup right is not complicated, but it does require matching the configuration to the target:
- Per-request rotation for public, stateless scraping at high volume
- Sticky sessions for login-dependent workflows and session-sensitive sites
- Datacenter proxies for the majority of scraping targets where speed and cost matter
- Residential proxies for high-protection sites like Amazon, social platforms, and travel booking
- Pool size scales with volume: more requests per domain requires more IPs in the pool
- Backconnect proxies eliminate the rotation management overhead and let you focus on the scrape
Pick the right combination upfront, test on a small batch before scaling, and you'll spend a lot less time debugging blocks and a lot more time collecting data.
FAQ
What is the best rotating proxy for web scraping? The best setup depends on your target site. For most public scraping tasks, rotating datacenter proxies through a backconnect gateway deliver the best price-to-performance ratio. For sites with aggressive bot detection (Amazon, social media), residential rotating proxies are more reliable. A backconnect proxy service that supports both modes and lets you switch between per-request and sticky session rotation covers the widest range of use cases.
How often should a rotating proxy change IPs? For public, stateless scraping, change your IP on every request (per-request rotation). This gives each IP the minimum possible exposure on any single target site. For session-dependent workflows, keep the same IP for the duration of the session and rotate between sessions. Most production scrapers use per-request as the default and reserve sticky sessions for specific login-dependent tasks.
Do rotating proxies prevent getting blocked? Rotating proxies significantly reduce ban risk by distributing your request volume across many IP addresses. They don't make you immune to blocking. You still need to manage request rate, user-agent rotation, and response handling. A rotating proxy handles the IP rotation layer; you handle the behavioral layer (request timing, headers, CAPTCHA handling).
What's the difference between a rotating proxy and a backconnect proxy? A rotating proxy is any proxy setup that changes your IP address between requests. A backconnect proxy is a specific architecture where you connect to one gateway endpoint and the rotation happens server-side behind that endpoint. Backconnect proxies are the most practical implementation of rotating proxies for scraping because they require no rotation logic in your code.
How many IPs do I need in a rotating proxy pool for web scraping? A rough rule: divide your daily request volume per target domain by 50 to 100. That's your minimum pool size for that target. For low-protection sites, 500 IPs is usually enough for moderate volume. For high-protection sites or very high request rates, you need pools of 5,000 or more, or need to switch to residential proxies.
Can I use rotating proxies for scraping Amazon? Yes, but datacenter IPs are frequently blocked by Amazon's bot detection. Rotating residential proxies have a much higher success rate on Amazon because they look like real home internet traffic. If you're running datacenter proxies on Amazon and getting consistent 503s or CAPTCHA responses, switching to a residential pool will resolve most of those issues.
Buy Backconnect Proxies
Rotating IPs on every request. Scale scraping and automation without manual IP management.





