For the complete documentation index, see llms.txt. This page is also available as Markdown.

Session Control & IP Rotation

Learn how to manage Residential Proxy sessions to keep the same IP address across multiple requests and control session length and IP rotation.

Oxylabs Residential Proxies rotate automatically with every request by default. To keep the same IP address for sequential requests, configure sticky session parameters in your username string or connect via sticky proxy entry ports.

Method
Parameter
Description

Sticky session

sessid

Automatically rotates to a new IP to keep the session active. 10 minutes (default).

Session duration

sesstime

Extends sessid lifetime. Session ends once the timer expires. Up to 1440 min (24 hrs)

Single-IP binding

sessid_oneip

Binds strictly to a single exit node. Fails with HTTP 502 if IP drops. Up to 1440 min (24 hrs)

Sticky ports

Port range

Port-based stickiness (ports 10001–49999) requires no username-based parameters. Up to 10 minutes.

Default sticky sessions (sessid)

The sessid parameter routes multiple requests through the same IP address as long as the IP is online. Add sessid after your username with a random alphanumeric string (e.g. sessid-abcd1234):

customer-USERNAME-cc-DE-sessid-abcd1234:PASSWORD

By default, a session lasts 10 minutes, or ends after 60 seconds without any requests – whichever comes first. Once that happens, a new IP address is assigned automatically so your requests continue uninterrupted. To change the session length, please refer to Extend session duration.

Code examples

curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-sessid-abcd1234:PASSWORD" https://ip.oxylabs.io/location
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$country = 'DE';
$session = mt_rand();
$proxy = 'pr.oxylabs.io:7777';
$query = curl_init('https://ip.oxylabs.io/location');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username-cc-$country-sessid-$session:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
    echo $output;
?>
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
country = 'DE'
session = random.random()
entry = ('http://customer-%s-cc-%s-sessid-%s:%s@pr.oxylabs.io:7777' %
    (username, country, session, password))
query = urllib.request.ProxyHandler({
    'http': entry,
    'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io/location').read())

Extend session duration (sesstime)

Combine the sesstime parameter with sessid to extend session duration beyond the 10-minute default (or up to 60 seconds of inactivity) up to 1440 minutes (24 hours). Specify duration in minutes (e.g., sesstime-30 for 30 minutes):

customer-USERNAME-cc-DE-sessid-abcd1234-sesstime-30:PASSWORD

Note: Session time parameter does not guarantee that all of your requests finish before the session ends. The session expires once the time limit is reached, even if some requests are still in progress.

Code examples

We chose the same German IP as in the previous example, this time we are adding sessid string and sesstime parameter for 7 minutes:

Single-IP session binding (sessid_oneip)

Use sessid_oneip instead of sessid when your workflow requires strict IP consistency and cannot tolerate IP rotation mid-session.

Unlike standard sticky sessions, if the assigned exit node goes offline, the system will not rotate to a new IP, and instead the request fails with an HTTP 502 Bad Gateway error. When a 502 occurs, initiate a new session using a fresh sessid_oneip string. sessid_oneip can be combined with sesstime in the same way as sessid.

Code examples

Sticky proxy entry nodes (Port range)

Connect to country-specific entry node points on dedicated port ranges (10001–49999) to maintain an IP address for up to 10 minutes without passing sessid parameters in your username string. Reusing the same port keeps the same exit node, while changing the port assigns a new sticky IP.

Country-specific sticky entry ports support standard username/password and IP Whitelisting authentication, but do not support city or state-level parameters.

See the Oxylabs dashboard for entry point information, download a complete list of sticky entry points, or see them in the table below.

Full list of sticky proxy entry nodes

Random pr.oxylabs.io:10000 - 49999

US us-pr.oxylabs.io:10001 - 19999

Canada ca-pr.oxylabs.io:30001 - 39999

Great Britain gb-pr.oxylabs.io:20001 - 29999

Germany de-pr.oxylabs.io:30001 - 39999

France fr-pr.oxylabs.io:40001 - 49999

Spain es-pr.oxylabs.io:10001 - 19999

Italy it-pr.oxylabs.io:20001 - 29999

Sweden se-pr.oxylabs.io:30001 - 39999

Greece gr-pr.oxylabs.io:40001 - 49999

Portugal pt-pr.oxylabs.io:10001 - 19999

Netherlands nl-pr.oxylabs.io:20001 - 29999

Belgium be-pr.oxylabs.io:30001 - 39999

Russia ru-pr.oxylabs.io:40001 - 49999

Ukraine ua-pr.oxylabs.io:10001 - 19999

Poland pl-pr.oxylabs.io:20001 - 29999

Israel il-pr.oxylabs.io:20001 - 29999

Turkey tr-pr.oxylabs.io:30001 - 39999

Australia au-pr.oxylabs.io:40001 - 49999

Malaysia my-pr.oxylabs.io:10001 - 19999

Thailand th-pr.oxylabs.io:20001 - 29999

South Korea kr-pr.oxylabs.io:30001 - 39999

Japan jp-pr.oxylabs.io:40001 - 49999

Philippines ph-pr.oxylabs.io:10001 - 19999

Singapore sg-pr.oxylabs.io:20001 - 29999

China cn-pr.oxylabs.io:30001 - 39999

Hong Kong hk-pr.oxylabs.io:40001 - 49999

Taiwan tw-pr.oxylabs.io:10001 - 19999

India in-pr.oxylabs.io:20001 - 29999

Pakistan pk-pr.oxylabs.io:30001 - 39999

Iran ir-pr.oxylabs.io:40001 - 49999

Indonesia id-pr.oxylabs.io:10001 - 19999

Azerbaijan az-pr.oxylabs.io:20001 - 29999

Kazakhstan kz-pr.oxylabs.io:30001 - 39999

UAE ae-pr.oxylabs.io:40001 - 49999

Mexico mx-pr.oxylabs.io:10001 - 19999

Brazil br-pr.oxylabs.io:20001 - 29999

Argentina ar-pr.oxylabs.io:30001 - 39999

Chile cl-pr.oxylabs.io:40001 - 49999

Peru pe-pr.oxylabs.io:10001 - 19999

Ecuador ec-pr.oxylabs.io:20001 - 29999

Colombia co-pr.oxylabs.io:30001 - 39999

South Africa za-pr.oxylabs.io:40001 - 49999

Egypt eg-pr.oxylabs.io:10001 - 19999

Saudi Arabia sa-pr.oxylabs.io:44001 - 44999

Denmark dk-pr.oxylabs.io:19001 - 19999

Mali ml-pr.oxylabs.io:13001 - 13999

Cyprus cy-pr.oxylabs.io:35001 - 35999

Honduras hn-pr.oxylabs.io:48001 - 48999

Georgia ge-pr.oxylabs.io:36001 - 36999

Serbia rs-pr.oxylabs.io:36001 - 36999

Costa Rica cr-pr.oxylabs.io:44001 - 44999

Malta mt-pr.oxylabs.io:30001 - 30999

Haiti ht-pr.oxylabs.io:47001 - 47999

Senegal sn-pr.oxylabs.io:19001 - 19999

Slovenia si-pr.oxylabs.io:38001 - 38999

Cameroon cm-pr.oxylabs.io:41001 - 41999

Djibouti dj-pr.oxylabs.io:46001 - 46999

Angola ao-pr.oxylabs.io:40001 - 40999

Liberia lr-pr.oxylabs.io:11001 - 11999

Afghanistan af-pr.oxylabs.io:28001 - 28999

Bangladesh bd-pr.oxylabs.io:30001 - 30999

Bahamas bs-pr.oxylabs.io:41001 - 41999

Hungary hu-pr.oxylabs.io:23001 - 23999

Slovakia sk-pr.oxylabs.io:37001 - 37999

Dominica dm-pr.oxylabs.io:46001 - 46999

Kenya ke-pr.oxylabs.io:10001 - 10999

Bosnia and Herzegovina ba-pr.oxylabs.io:13001 - 13999

Nigeria ng-pr.oxylabs.io:18001 - 18999

Qatar qa-pr.oxylabs.io:43001 - 43999

Yemen ye-pr.oxylabs.io:48001 - 48999

Belize bz-pr.oxylabs.io:42001 - 42999

Chad td-pr.oxylabs.io:43001 - 43999

Tunisia tn-pr.oxylabs.io:25001 - 25999

Zimbabwe zw-pr.oxylabs.io:21001 - 21999

Zambia zm-pr.oxylabs.io:27001 - 27999

Bahrain bh-pr.oxylabs.io:29001 - 29999

Austria at-pr.oxylabs.io:11001 - 11999

Ireland ie-pr.oxylabs.io:25001 - 25999

Norway no-pr.oxylabs.io:34001 - 34999

Ethiopia et-pr.oxylabs.io:45001 - 45999

Côte d'Ivoire ci-pr.oxylabs.io:49001 - 49999

Fiji fj-pr.oxylabs.io:14001 - 14999

South Sudan ss-pr.oxylabs.io:22001 - 22999

Jamaica jm-pr.oxylabs.io:49001 - 49999

Belarus by-pr.oxylabs.io:15001 - 15999

Finland fi-pr.oxylabs.io:21001 - 21999

Monaco mc-pr.oxylabs.io:31001 - 31999

New Zealand nz-pr.oxylabs.io:15001 - 15999

Turkmenistan tm-pr.oxylabs.io:46001 - 46999

Armenia am-pr.oxylabs.io:31001 - 31999

Iceland is-pr.oxylabs.io:24001 - 24999

Mauritania mr-pr.oxylabs.io:14001 - 14999

Czech Republic cz-pr.oxylabs.io:18001 - 18999

Venezuela ve-pr.oxylabs.io:19001 - 19999

Lebanon lb-pr.oxylabs.io:39001 - 39999

Mongolia mn-pr.oxylabs.io:41001 - 41999

Benin bj-pr.oxylabs.io:44001 - 44999

Sudan sd-pr.oxylabs.io:23001 - 23999

Jordan jo-pr.oxylabs.io:38001 - 38999

Estonia ee-pr.oxylabs.io:20001 - 20999

Paraguay py-pr.oxylabs.io:17001 - 17999

Central African Republic cf-pr.oxylabs.io:42001 - 42999

Cambodia kh-pr.oxylabs.io:34001 - 34999

Panama pa-pr.oxylabs.io:10001 - 10999

Uruguay uy-pr.oxylabs.io:18001 - 18999

Ghana gh-pr.oxylabs.io:48001 - 48999

Uzbekistan uz-pr.oxylabs.io:47001 - 47999

Albania al-pr.oxylabs.io:49001 - 49999

Morocco ma-pr.oxylabs.io:16001 - 16999

Bhutan bt-pr.oxylabs.io:32001 - 32999

Mauritius mu-pr.oxylabs.io:15001 - 15999

Latvia lv-pr.oxylabs.io:26001 - 26999

Madagascar mg-pr.oxylabs.io:12001 - 12999

Lithuania lt-pr.oxylabs.io:28001 - 28999

Moldova md-pr.oxylabs.io:32001 - 32999

Montenegro me-pr.oxylabs.io:33001 - 33999

Romania ro-pr.oxylabs.io:35001 - 35999

Iraq iq-pr.oxylabs.io:37001 - 37999

Gambia gm-pr.oxylabs.io:47001 - 47999

Mozambique mz-pr.oxylabs.io:17001 - 17999

Croatia hr-pr.oxylabs.io:16001 - 16999

Puerto Rico pr-pr.oxylabs.io:12001 - 12999

Cuba cu-pr.oxylabs.io:45001 - 45999

Aruba aw-pr.oxylabs.io:10001 - 10999

Seychelles sc-pr.oxylabs.io:20001 - 20999

Macedonia mk-pr.oxylabs.io:40001 - 40999

Maldives mv-pr.oxylabs.io:40001 - 40999

Oman om-pr.oxylabs.io:42001 - 42999

Liechtenstein li-pr.oxylabs.io:27001 - 27999

Switzerland ch-pr.oxylabs.io:39001 - 39999

Bolivia bo-pr.oxylabs.io:16001 - 16999

Uganda ug-pr.oxylabs.io:26001 - 26999

Bulgaria bg-pr.oxylabs.io:14001 - 14999

Myanmar mm-pr.oxylabs.io:33001 - 33999

Andorra ad-pr.oxylabs.io:10001 - 10999

Togo tg-pr.oxylabs.io:24001 - 24999

British Virgin Islands vg-pr.oxylabs.io:43001 - 43999

Trinidad and Tobago tt-pr.oxylabs.io:13001 - 13999

Luxembourg lu-pr.oxylabs.io:29001 - 29999

​European Union

eu-pr.oxylabs.io:10001 - 29999

Code examples

Last updated

Was this helpful?