Comment on page

Geo-sessions: longer, stickier, more accurate sessions

In the past, businesses used sticky sessions to run multi-step procedures or mimic user behavior. At Nimble, we saw significant room to improve session quality, longevity, and accuracy.
Geo-sessions are our end-to-end upgrade to traditional sticky sessions that provide substantial upgrades across the board. Instead of minutes or hours, Geo-sessions can be maintained for days or even weeks at a time, and provide substantially improved session quality and geotargeting accuracy.

How Geo-sessions work

Geo-sessions improve session stability, longevity, and quality by an order of magnitude. This is achieved through several pioneering methodologies:
  • highly-durable residential IPs: Nimble tests proxies for their stability and durability, and only the most reliable residential proxies are used in Geo-sessions.
  • Minimum rotation: by relaxing rotation-trigger sensitivity, Nimble minimizes proxy rotation unless it's absolutely necessary.
  • ISP consistency: Once a Geo-session starts, any time a proxy is rotated the newly selected proxy must use the same ISP as the initial proxy.
  • Prioritizing proximity: Beyond maintaining the same ISP, Nimble will also rotate a proxy with the physically closest available proxy.
  • Geographical zone retention: Beyond prioritizing proximity, Nimble defines a strict geographical zone around the initially selected proxy, and any new proxy rotated in must originate from within this zone.
These parameters work together to create highly consistent sessions. Even when IP rotation inevitably occurs, the new IP is highly-likely to replace the previous IP so well that it resembles normal ISP IP reassignment, and the session continues normally.

Why use Geo-sessions

Geo-sessions provide a reliable and effective solution to several key needs:
  • Long, multi-step processes: if your scraping needs require sessions that go through multiple steps, Geo-sessions can ensure session stability.
  • Fully mimic user behavior: by extending sessions to days and weeks, mimicking user behavior with data that persists continuously throughout the Geo-session becomes easier and substantially more effective.
  • Multi-organizational and 3rd party sharing: Because Geo-sessions are global, they can be shared across Nimble accounts, allowing for secure and compartmentalized collaboration with other organizations.

Geo-sessions vs. sticky sessions

Both Geo-sessions and sticky sessions have their unique advantages. Geo-sessions offer substantially longer duration, highly-precise and consistent geotargeting, and minimum rotation. On the other hand, sticky sessions rotate unresponsive IPs faster, and may provide faster download speeds due to using a wider range of proxies.
Sticky Session
Session duration
minutes or hours
days or weeks
Rotation sensitivity
Medium: unresponsive IPs are quickly replaced
Low: unresponsive IPs are given time to return
Geotargeting during IP Rotation
Medium: City targeting is the highest precision.
High: maintains precise, tight geographic zone.
high: uses many IPs and rotates unresponsive IPs.
Medium: algorithmically selects most stable IPs.

Creating a new Geo-session

To create a new Geo-session, simply use the geosession flag with a random string that will serve as the new Geo-session ID:
curl -x http://account-accountName-pipeline-pipelineName-geosession-randomGeoSessionString:[email protected]:7000
For Geo-sessions to work properly, please extend your request timeout to at least 40 seconds on your http client (e.g Chrome/Puppeteer/Selenium/Curl/http code library, etc.).
Geo-sessions can persist for up to 10 days of inactivity before being ended.

Geo-session IDs are Global

Traditional sticky session IDs are limited to your account, meaning:
  • Only you can access your sticky sessions.
  • Sticky session IDs need to be unique only within your account.
However, Geo-sessions are global across Nimble's platform. This means:
  • Geo-sessions can be securely shared with 3rd parties on Nimble's platform by sharing the session ID.
  • Geo-session IDs need to be unique across the Nimble platform.
To help ensure your custom Geo-session ID is unique, Nimble considers additional parameters when identifying a Geo-session. For example, the following request initiates a Geo-session in London, England:
curl -x http://account-accountName-pipeline-pipelineName-country-GB-city-london-geosession-randomGeoSessionString:[email protected]:7000
If another Geo-session with the same ID is started that targets a different location, this will be considered a separate session, and will receive a different proxy.
Be sure to use the same parameters across requests that share the same Geo-session. If the location targeting is changed, but the Geo-session ID remains the same, a new session will still be initiated.