Comparison
Rotating or sticky proxies: which should you use?
Short answerUse rotating proxies when each request stands alone, as in price crawls and SERP checks, and sticky proxies when a site must see the same visitor across several pages, as in a basket or a dashboard. At Jade Proxies, sticky sessions last up to 30 minutes and both modes cost the same per GB.
What is the difference between rotating and sticky proxies?
A rotating proxy gives a new IP for each new connection; a sticky proxy keeps one IP for a session you name. At Jade Proxies, each new connection gets an IP from the pool, usually a different one; to get a new IP on every request, send one request per connection (turn off keep-alive). Sticky sessions last up to 30 minutes (the IP can change earlier).
| Point | Rotating | Sticky |
|---|---|---|
| When the IP changes | On each new connection | When the session ends, or earlier if the device goes offline |
| Username | No session part | session-{id} and ttl-{minutes} added |
| Longest hold | One connection | 30 minutes |
| Price per GB | Same | Same |
| Typical jobs | Crawls, SERP checks, price monitoring | Baskets, dashboards, browser automation |
How do you set rotation or a sticky session?
You set both in the proxy username, which follows the format USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes}. Leave out the session and ttl parts for rotation; add them for a sticky session.
country-{cc}: the two-letter country code, such asjp,kr,inorth.city-{city}: the city, such asosaka,mumbaiorbangkok; city availability varies.session-{id}: any string you choose; requests with the same id share one IP.ttl-{minutes}: the session length in minutes, up to 30.
# Rotating: each new connection gets an IP from the pool
curl -x http://USERNAME-country-th-city-bangkok:[email protected]:7777 https://api.ipify.org
# Sticky: the same session id keeps one IP for up to 10 minutes
curl -x http://USERNAME-country-th-city-bangkok-session-cart42-ttl-10:[email protected]:7777 https://api.ipify.org
Run the sticky command twice within 10 minutes and both calls print the same IP, unless the home device behind it goes offline; run the rotating one twice and the IPs usually differ. SOCKS5 clients connect to port 7778 with the same username.
Why does keep-alive stop rotation?
Rotation happens per connection, not per request, so a client that reuses one connection sends every request on it through the same IP. HTTP keep-alive, connection pools such as Python's requests.Session and HTTP/2 multiplexing all reuse connections. To get a new IP on every request, open one connection per request: call requests.get without a session, or send the header Connection: close. The Python requests guide shows both patterns.
Browsers create the opposite problem. A browser opens several connections to load one page, so in rotating mode the HTML, scripts and images of a single page can arrive through different IPs, which breaks sites that tie a visit to one address. Give each browser profile or Playwright context its own sticky session instead.
Per-request rotation also uses more traffic: every new connection repeats the TLS handshake, and usage counts all data sent and received through the proxy, headers included.
Which mode should you use for each job?
Pick rotation when requests are independent and a sticky session when the site follows a visitor across pages:
| Job | Mode | Username settings | Reason |
|---|---|---|---|
| Product pages on Shopee or Lazada | Rotating | country + city, keep-alive off | Each page stands alone |
| Google Japan or Naver rank checks | Rotating | country + city | One query per IP spreads the load |
| Ad check on a landing page | Sticky | ttl-1 to ttl-5 | The page and its ad calls share one IP |
| Basket and checkout testing | Sticky | ttl-10 to ttl-30 | The cart is tied to the visitor |
| Dashboard of your own account | Sticky | ttl-30, one fixed id | Logins can drop when the IP changes |
| Playwright or Puppeteer runs | Sticky | one id per browser context | Browsers open many connections |
| Managing a brand's social account | Dedicated mobile port | Rotate only when needed | Needs one IP for days |
| Hotel and fare monitoring | Rotating | country + city | Each search is independent |
The Shopee and Lazada guide applies these settings to marketplace crawls.
What if 30 minutes is not long enough?
Use a dedicated 4G/5G mobile port, whose carrier IP changes when you decide: new IP on demand by rotation link or API call, at most once every 30 seconds, or on an automatic timer from every 2 minutes to every 24 hours. Our price grid shows that a port costs $0.08 per hour on a 30-day South and Southeast Asia plan ($59.25 ÷ 720 hours) and $0.12 per hour in Japan, South Korea, Taiwan, Hong Kong or Singapore ($89.25 ÷ 720 hours).
Data on a port is billed per day, not per GB, under fair use (the carrier may slow or pause very heavy use), and each rotation reconnects the port to the carrier and usually takes 5–15 seconds. The mobile proxies page lists the carriers per country.
Why can a sticky IP change before the session ends?
A sticky residential IP can change early because it belongs to a real home device, and that device can go offline at any moment, which ends the session. Write retries into the client: when a request fails or the exit IP changes, start a new session id and repeat the step.
Rotating and sticky traffic cost the same, $1.50 for 1 GB down to $0.50/GB from 100 GB, as listed on the pricing page.
Frequently asked questions
How long does a sticky session last at Jade Proxies?
Up to 30 minutes, set with ttl-{minutes} in the username. The IP can change earlier if the home device behind it goes offline, so build retries into your client.
How do I get a new IP on every request?
Leave the session part out of the username and send one request per connection, with keep-alive turned off. Each new connection gets an IP from the pool, usually a different one.
Can I run several sticky sessions at the same time?
Yes. Give each session its own id, for example one per browser profile or per basket test. Each id is tracked as a separate session with its own exit IP from the pool.
Is rotating or sticky better for web scraping?
Rotating, for most crawls: product pages and search results are independent requests, and spreading them over many IPs keeps the load per address low. Switch to sticky sessions only for flows that span several pages.
Does a sticky session cost more?
No. Rotating and sticky traffic share the same per-GB price, from $1.50 for 1 GB to $0.50/GB from 100 GB, and the traffic never expires.
Test 10 GB of Asian residential IPs for $6.60
Top up from $25 in BTC, ETH, USDT, USDC, SOL, LTC. No ID, no selfie. Unused balance never expires.