Every proxy provider offers two fundamental session modes: rotating and sticky. Choosing the wrong one will get your accounts banned, your scrapers blocked, or your data corrupted. This guide explains exactly how each works, when to use them, and how to configure both through a single proxy endpoint.
A rotating proxy assigns a new IP address for every request (or after a very short interval). When your application sends a request through a rotating proxy, the gateway selects a different IP from the pool, forwards your request, and returns the response. The next request gets a completely different IP.
This is the default behavior for most residential proxy pools. No session state is maintained between requests. From the target website's perspective, each request appears to come from a different user in a different location.
How it works technically:
gate.jibaoproxy.com).The rotation happens at the gateway level. Your application maintains a single connection to the proxy endpoint, but the exit IP changes on every request.
A sticky session proxy assigns the same IP address for a defined duration, typically between 1 and 30 minutes. Every request sent with the same session identifier routes through the same exit IP until the session expires or the IP becomes unavailable.
This is critical for any workflow where the target website tracks your IP across multiple requests. Login flows, multi-step forms, and shopping cart checkouts all require IP consistency. If your IP changes mid-flow, the server treats it as a session hijack and blocks you.
How it works technically:
user-session-abc123).The session ID is the key. Change it, and you get a new IP. Keep it, and you keep the same IP.
| Factor | Rotating Proxy | Sticky Session Proxy |
|---|---|---|
| IP behavior | New IP per request | Same IP for 1-30 minutes |
| Anonymity | Maximum — no pattern to track | Moderate — IP is consistent within session |
| Speed | Slightly faster (no session lookup) | Equivalent once session is established |
| Ban resistance | High for scraping at scale | High for account-based workflows |
| Use cases | Scraping, price monitoring, SEO audits | Login flows, social media, e-commerce |
| Complexity | None — default behavior | Requires session ID management |
| Cost | Same per-GB rate | Same per-GB rate |
| IP pool utilization | Uses many IPs across requests | Holds one IP per active session |
When you need to collect data from thousands or millions of pages, rotating proxies distribute your requests across the entire IP pool. No single IP sends enough requests to trigger rate limits. This is the standard approach for scraping product catalogs, job listings, real estate data, and public records.
E-commerce price monitoring requires checking the same product pages repeatedly across competitors. Rotating proxies ensure each check comes from a different IP, preventing the target site from detecting your monitoring pattern and serving you manipulated prices.
Search engines personalize results based on IP location and history. Rotating proxies give you a clean IP for each rank check, ensuring you see the same results a real first-time visitor would see. This is essential for accurate SERP tracking across multiple geolocations.
Verifying that ads display correctly across regions requires requests from diverse IPs. Rotating proxies provide natural geographic distribution without the overhead of managing individual sessions.
Any website that requires login will track your IP throughout the authentication process. If your IP changes between entering your username and submitting your password, the server flags it as suspicious. Sticky sessions maintain IP consistency through the entire login sequence.
E-commerce checkout typically involves: add to cart, enter shipping, enter payment, confirm order. Each step validates that the request comes from the same IP as the previous step. A sticky session with a 10-30 minute duration covers the entire flow.
Platforms like Instagram, Facebook, and TikTok fingerprint accounts by IP. Managing multiple accounts requires assigning each account a dedicated sticky session. If Account A and Account B share an IP, both get flagged. Use a unique session ID per account with sticky sessions lasting the full management window.
Many websites set cookies on the first visit and validate them against the source IP on subsequent requests. Rotating proxies break this validation because the IP changes but the cookie persists. Sticky sessions keep both the cookie and IP consistent.
JIBAO Proxy supports both rotating and sticky sessions through the same gateway endpoint: gate.jibaoproxy.com. The session behavior is controlled by the username format.
Rotating mode (default): Connect with your standard credentials. Each request automatically gets a new IP.
gate.jibaoproxy.com2000 (HTTP) or 2001 (SOCKS5)your_usernameyour_passwordSticky session mode: Append a session identifier to your username. All requests with the same session ID use the same IP for the configured duration.
gate.jibaoproxy.com2000 (HTTP) or 2001 (SOCKS5)your_username-session-SESSION_IDyour_passwordYou can also target specific countries by adding a country code:
your_username-country-us-session-SESSION_IDFor more details on dynamic residential proxies, see Dynamic Residential Proxy. For dedicated static IPs that never rotate, see Static Residential Proxy.
import requests
import uuid
PROXY_HOST = "gate.jibaoproxy.com"
PROXY_PORT = 2000
USERNAME = "your_username"
PASSWORD = "your_password"
def get_proxy_url(session_id=None, country=None):
"""Build proxy URL for rotating or sticky mode."""
user = USERNAME
if country:
user += f"-country-{country}"
if session_id:
user += f"-session-{session_id}"
return f"http://{user}:{PASSWORD}@{PROXY_HOST}:{PROXY_PORT}"
# --- Rotating mode: new IP every request ---
print("=== Rotating Mode ===")
for i in range(3):
proxy_url = get_proxy_url()
resp = requests.get(
"https://httpbin.org/ip",
proxies={"http": proxy_url, "https": proxy_url},
timeout=15,
)
print(f"Request {i+1}: {resp.json()['origin']}")
# --- Sticky mode: same IP for all requests in session ---
print("\n=== Sticky Session Mode ===")
session_id = uuid.uuid4().hex[:8]
for i in range(3):
proxy_url = get_proxy_url(session_id=session_id)
resp = requests.get(
"https://httpbin.org/ip",
proxies={"http": proxy_url, "https": proxy_url},
timeout=15,
)
print(f"Request {i+1}: {resp.json()['origin']}")
# All three requests above will show the same IP.
# --- Multiple sticky sessions (e.g., one per account) ---
print("\n=== Multiple Sticky Sessions ===")
accounts = ["shop_account_1", "shop_account_2", "shop_account_3"]
for account in accounts:
proxy_url = get_proxy_url(session_id=account, country="us")
resp = requests.get(
"https://httpbin.org/ip",
proxies={"http": proxy_url, "https": proxy_url},
timeout=15,
)
print(f"{account}: {resp.json()['origin']}")
# Each account gets its own dedicated IP.
If you start a login flow with a sticky session and then accidentally send a request without the session ID, the gateway assigns a random IP. The target site sees a different IP mid-flow and blocks you. Always ensure your session ID is consistent across all requests in a workflow.
Setting a 1-minute sticky session for a checkout flow that takes 3 minutes means your IP changes before you complete the purchase. Estimate the maximum time your workflow takes and add a buffer. For most interactive flows, 10-15 minutes is a safe default.
If you manage 50 social media accounts and accidentally use the same session ID for two of them, both accounts route through the same IP. The platform links them and bans both. Generate a unique, deterministic session ID per account (e.g., hash of account name).
Some scrapers set cookies on the first request to bypass CAPTCHAs or age gates, then reuse those cookies on subsequent requests. With rotating proxies, the IP changes but the cookie stays — and the target site detects the mismatch. Use sticky sessions for any scraping that relies on cookie persistence.
Sticky sessions hold an IP from the pool for the session duration, reducing available IPs for other requests. If your task is stateless (e.g., scraping static pages), use rotating proxies to maximize pool utilization and minimize the chance of rate limiting on any single IP.
The decision is straightforward: Does the target website need to see the same IP across multiple requests?
For hybrid workflows (e.g., scrape a list of URLs with rotating, then log in to each with sticky), switch modes by adding or removing the session parameter in your username. No endpoint or port changes needed.
JIBAO Proxy offers dynamic residential proxies starting at $6.8/GB with both session modes included, and static residential IPs at $5.88/month for accounts that need a permanent, never-rotating IP. See the full pricing page for all options.
Get $5 free credit to test both rotating and sticky session modes with residential proxies.
Start Free TrialNew users get $5 USDT instantly, plus an extra first-deposit reward — limited-time offer.