Documentation

Troubleshoot Sticky Sessions

Understand Thunderproxy sticky sessions, session IDs, best-effort exit IP stability, and when to rotate or regenerate sessions.

Export pages

Sticky sessions ask the Thunderproxy gateway to keep requests with the same session ID on the same exit IP when possible. They are useful for longer flows, but they are not the same as Static ISP dedicated IPs.

Quick answer: sticky sessions are best-effort. Keep the same -sid- username suffix for a stable session, but generate a new session if the current exit IP stops working or changes unexpectedly.

How sticky sessions work

For rotating products, sticky mode appends a session ID to the generated username:

base-res-US-sid-12345678
base-dc-DE-sid-12345678

The gateway reads the session ID and tries to route matching requests through the same exit IP inside the selected pool and location.

Sticky does not mean fixed forever

A sticky session can change exit IP when:

  • The current peer goes offline.
  • The selected pool cannot keep serving that peer.
  • You change country, state, city, protocol, or session settings and keep using stale values.
  • Your app imports a different generated line than expected.

For a dedicated static IP, use Static ISP instead of a rotating sticky session.

Keep session IDs separate

Use one sticky username per profile, worker, or account flow. Reusing the same session ID across unrelated jobs can make behavior harder to debug.

If you export multiple sticky sessions, each generated line should have its own -sid- suffix.

When to rotate or regenerate

Generate a new sticky session when:

  • The current exit IP stops working.
  • The target site blocks or rate-limits the current exit IP.
  • You need to start a clean browser profile flow.
  • You changed location or protocol and need fresh copied values.

For IP authentication flows, use Rotate IP or the rotate URL when available to request a new current sticky address.

Troubleshooting checklist

  1. Test the same sticky username with cURL.
  2. Confirm the subscription is active and has remaining usage.
  3. Confirm the username includes the expected location and -sid- suffix.
  4. Confirm your app imported the line you intended to use.
  5. Generate a fresh sticky username and test again.
  6. Use Static ISP if the workflow requires a stable dedicated IP.

Next steps