ProxioDocs
Proxies & Targeting

Session Types: Auto, Sticky & Smart

The three Proxio Residential rotation types explained, auto (fresh IP per request), sticky (hold one IP for 1 to 90 minutes) and smart (sticky plus connection retries), with the sessid/sesstime mechanics and exact retry rules.

Proxio Residential has exactly three rotation types, and you choose between them purely by which username segments you append. There is no separate setting to flip: add no session segments and you get auto; add a session and you get sticky; add a session plus retries and you get smart.

TypeIP behaviorSession segmentsRetriesBest for
autoA fresh IP on every requestnonenoHigh-volume scraping, maximum IP diversity
stickyThe same IP held for sesstime minutes-sessid-…-sesstime-…noLogins, carts, any multi-step flow
smartSticky plus automatic connection retries-sessid-…-sesstime-…-retry-…yes (1 to 5)Flaky targets where you want built-in resilience

Auto: rotate every request

The default. With no session segments, each request draws a new residential IP from the pool. Geo-targeting still works, so you can rotate through fresh IPs that all exit from the same country, state or city.

http://abcxyz123def-region-us:[email protected]:16666

Use auto when every request is independent and you want the widest possible IP spread: price checks across many product pages, broad SERP sampling, general crawling.

Sticky: hold one IP

A sticky session pins a single exit IP so a sequence of requests all come from the same address. You create one by adding two segments:

  • -sessid-{sessionId}: an identifier you choose. It is a prefix (the dashboard default is session_) followed by random characters, for example myapp_9k2p7qz1m4vb1. Send the same sessid and you keep the same IP.
  • -sesstime-{minutes} sets the session window. An integer from 1 to 90 minutes; the dashboard default is 10. Very long values may be capped by the gateway (currently at 60 minutes).
http://abcxyz123def-region-us-sessid-myapp_9k2p7qz1m4vb1-sesstime-30:[email protected]:16666

The sesstime window is sliding: every request on the session extends it. So a session you keep using stays on its IP, and it expires after sesstime minutes of no traffic. Once it has expired, the next request on that sessid gets a new IP.

Two behaviors that surprise people:

  • Changing geo does not change the session. The session is keyed by sessid alone, so reusing the same sessid with different -region-/-st-/-city- values keeps returning the same pinned IP. To actually move, start a new sessid.
  • A session can still rotate early. Sticky pins are best-effort: an exit going offline, or infrastructure-level rebalancing, can land a session on a new IP before its window is up. Design flows to tolerate a rare mid-session change.

Keep the session prefix clean

The prefix in your sessionId must contain only letters, numbers and underscore. A dash inside it will corrupt parsing, because dashes separate every segment of the username. myapp_ is fine; my-app- is not.

Forcing a new IP

You have two ways to drop a sticky IP before its timer runs out:

  1. Change the sessid. A new session identifier is a new session, so it lands on a new IP immediately.
  2. Rotate from the dashboard. Open your Residential service's Sub-users tab, where each credential's active sticky sessions are listed. From there you can rotate one session, rotate all of them, or drop a session entirely.

Smart: sticky with connection retries

Smart rotation is a sticky session with an automatic retry layer, for targets that occasionally refuse a connection. You add it on top of a session:

  • -retry-{N} is the number of extra connection attempts, from 1 to 5.
  • -retryrotate-1 pulls a fresh IP on each retry. By default a retry already rotates the IP; this flag is the explicit form of that behavior.

-retry- does not actually require a session: the gateway accepts it on its own, and sessionless attempts simply dial a fresh IP each time. Some built-in presets use exactly that combination for scraping workloads.

http://abcxyz123def-region-us-sessid-myapp_9k2p7qz1m4vb1-sesstime-15-retry-3-retryrotate-1:[email protected]:16666

What actually gets retried

The retry rules are deliberately narrow:

  • Retries cover only connection-level failures: a failed TCP dial, a CONNECT timeout, or a 502 / 503 / 504 from the upstream.
  • Content responses are never retried. A 403 (or any other status the destination actually returns) is passed straight back to you, unchanged.
  • Failed attempts transfer no data, so they never count against your bandwidth quota. You are only billed for the attempt that succeeds.

Retries are not a block-bypass

Because a 403 is a real answer from the site, smart retry will not paper over blocks. It is for transient connection problems, not for content that refuses you.

Which one should you use?

Your goalTypeWhy
Scrape many independent pages fastautoEvery request gets a fresh IP; no state to manage.
Log in, add to cart, check outstickyThe site sees one consistent IP across the flow.
Long forms, surveys, sign-upssticky (up to 90 min)Hold the IP for the whole multi-minute session.
Hit an unreliable endpointsmartConnection failures retry automatically without burning quota.

Not sure where to start? The Rotation Presets bundle sensible combinations of type, sesstime, retries and protocol for common jobs.

On this page