IPRoyal
This page will guide you on how to generate sticky and rotating proxies, Supported countries, other optional features, White labeling and FAQs regarding IPRoyal APIs.
How to generate sticky proxies:
export const randomNumberString = (length: number) => {
const min = Math.pow(10, length - 1);
const max = Math.pow(10, length) - 1;
return Math.floor(Math.random() * (max - min + 1)) + min;
};
function proxyGenerationSticky(amount, country, username, password) {
proxy = [];
for (var i = 0; i < parseInt(amount); i++) {
proxy.push(
`iproyal.x.proxiess.com:12321:${username}:${password}-country-${country.toLowerCase()}-sessionid-${randomNumberString(8
)}\n`,
);
}
return proxy.join('');
}Sessionid ( add this under sticky proxy generation )
The -sessionid- key instructs our routing system to either create or resolve a unique session for the connection. The value assigned to this key must be a random number, between 4 - 10 digits in value. This ensures the uniqueness and integrity of the session.
General Proxy format for IPRoyal Sticky:
<Domain>:<Port.:<username>:<password>-country-<country code>-sessionid-<session id>Follow the below table for generate HTTP/HTTPS and SOCKS5.
IPRoyal
HTTP/HTTPS
iproyal.x.proxiess.com
12321
IPRoyal EU
HTTP/HTTPS
iproyaleu.x.proxiess.com
12323
IPRoyal Asia
HTTP/HTTPS
iproyalasia.x.proxiess.com
12322
IPRoyal
SOCKS5
socksiproyal.x.proxiess.com
12324
IPRoyal EU
SOCKS5
socksiproyaleu.x.proxiess.com
12326
IPRoyal Asia
SOCKS5
socksiproyalasia.x.proxiess.com
12325
How to generate rotating proxies:
function proxyGenerationRotating(amount, country, username, password) {
proxy = [];
for (var i = 0; i < parseInt(amount); i++) {
proxy.push(
`iproyal.x.proxiess.com:12321:${username}:${password}-country-${country.toLowerCase()}\n`,
);
}
return proxy.join('');
}General Proxy format of IPRoyal Rotating:
<Domain>:<Port.:<username>:<password>-country-<country code>IPRoyal
HTTP/HTTPS
iproyal.x.proxiess.com
12321
IPRoyal EU
HTTP/HTTPS
iproyaleu.x.proxiess.com
12323
IPRoyal Asia
HTTP/HTTPS
iproyalasia.x.proxiess.com
12322
IPRoyal
SOCKS5
socksiproyal.x.proxiess.com
12324
IPRoyal EU
SOCKS5
socksiproyaleu.x.proxiess.com
12326
IPRoyal Asia
SOCKS5
socksiproyalasia.x.proxiess.com
12325
City
-city-<country-code>_<city-name> is the key to targeting a city. The value should be the country code following the name of the city.
Additionally, it's essential to specify the country when targeting a specific city, as multiple countries may have cities with the same name.
Example:
iproyaleu.x.proxiess.com:12323:<username>:<password>-city-de_berlin-sessionid-<session id>If the city name contains multiple words, please replace any spaces with an underscore (_) in the proxy format, as shown below.
Example:
iproyal.x.proxiess.com:12321:<username>:<password>-city-us_new_york_city-sessionid-<session id>
State
-state-<country-code>-<city-name> is the key to target a city. The value should be the name of the city.
Additionally, it's essential to specify the country when targeting a specific city, as multiple countries may have cities with the same name.
Example:
iproyal.x.proxiess.com:12321:<username>:<password>-state-us_alabama-sessionid-<session id>Supported countries:
US: "USA",
CA: "Canada",
GB: "GB",
DE: "Germany",
FR: "France",
ES: "Spain",
IT: "Italy",
SE: "Sweden",
GR: "Greece",
PT: "Portugal",
NL: "Netherlands",
BE: "Belgium",
RU: "Russia",
UA: "Ukraine",
PL: "Poland",
IL: "Israel",
TR: "Turkey",
AU: "Australia",
MY: "Malaysia",
TH: "Thailand",
KR: "South Korea",
JP: "Japan",
PH: "Philippines",
SG: "Singapore",
CN: "China",
HK: "Hong Kong",
TW: "Taiwan",
IN: "India",
PK: "Pakistan",
IR: "Iran",
ID: "Indonesia",
AZ: "Azerbaijan",
KZ: "Kazakhstan",
AE: "UAE",
MX: "Mexico",
BR: "Brazil",
AR: "Argentina",
CL: "Chile",
PE: "Peru",
EC: "Ecuador",
CO: "Colombia",
ZA: "South Africa",
EG: "Egypt",
AO: "Angola",
CM: "Cameroon",
CF: "Central African Republic",
TD: "Chad",
BJ: "Benin",
ET: "Ethiopia",
DJ: "Djibouti",
GM: "Gambia",
GH: "Ghana",
CI: "Côte d'Ivoire",
KE: "Kenya",
LR: "Liberia",
MG: "Madagascar",
ML: "Mali",
MR: "Mauritania",
MU: "Mauritius",
MA: "Morocco",
MZ: "Mozambique",
NG: "Nigeria",
SN: "Senegal",
SC: "Seychelles",
ZW: "Zimbabwe",
SS: "South Sudan",
SD: "Sudan",
TG: "Togo",
TN: "Tunisia",
UG: "Uganda",
ZM: "Zambia",
AF: "Afghanistan",
BH: "Bahrain",
BD: "Bangladesh",
AM: "Armenia",
BT: "Bhutan",
MM: "Myanmar",
KH: "Cambodia",
GE: "Georgia",
IQ: "Iraq",
JO: "Jordan",
LB: "Lebanon",
MV: "Maldives",
MN: "Mongolia",
OM: "Oman",
QA: "Qatar",
SA: "Saudi Arabia",
VN: "Vietnam",
TM: "Turkmenistan",
UZ: "Uzbekistan",
YE: "Yemen",
AL: "Albania",
AD: "Andorra",
AT: "Austria",
BA: "Bosnia and Herzegovina",
BG: "Bulgaria",
BY: "Belarus",
HR: "Croatia",
CY: "Cyprus",
CZ: "Czech Republic",
DK: "Denmark",
EE: "Estonia",
FI: "Finland",
HU: "Hungary",
IS: "Iceland",
IE: "Ireland",
LV: "Latvia",
LI: "Liechtenstein",
LT: "Lithuania",
LU: "Luxembourg",
MT: "Malta",
MC: "Monaco",
MD: "Moldova",
ME: "Montenegro",
NO: "Norway",
RO: "Romania",
RS: "Serbia",
SK: "Slovakia",
SI: "Slovenia",
CH: "Switzerland",
MK: "Macedonia",
BS: "Bahamas",
BZ: "Belize",
VG: "British Virgin Islands",
CR: "Costa Rica",
CU: "Cuba",
DM: "Dominica",
HT: "Haiti",
HN: "Honduras",
JM: "Jamaica",
AW: "Aruba",
PA: "Panama",
PR: "Puerto Rico",
TT: "Trinidad and Tobago",
FJ: "Fiji",
NZ: "New Zealand",
BO: "Bolivia",
PY: "Paraguay",
UY: "Uruguay",
VE: "Venezuela",
}Other Optional Features:
Generate proxy list using endpoint
White labeling:
Use this method to brand your proxies with your own domain/company name
To brand the proxies under your domain follow these steps:
Open the DNS configuration for your domain.
Create a CNAME Record pointing to the domain.
IPRoyal
HTTP/HTTPS
CNAME
iproyal.x.proxiess.com
12321
IPRoyal EU
HTTP/HTTPS
CNAME
iproyaleu.x.proxiess.com
12323
IPRoyal Asia
HTTP/HTTPS
CNAME
iproyalasia.x.proxiess.com
12322
IPRoyal
SOCKS5
CNAME
socksiproyal.x.proxiess.com
12324
IPRoyal EU
SOCKS5
CNAME
socksiproyaleu.x.proxiess.com
12326
IPRoyal Asia
SOCKS5
CNAME
socksiproyalasia.x.proxiess.com
12325
Whatever you enter in the name/host will decide the domain which points to our API IP.
Thus if your domain is API.com and you enter the host premium or whatever you want to call it pointing to the IPRoyal domain, your proxies will be formatted premium.yourdomain.com:port:user:pass
An example on Godaddy is linked below:

FAQ
What is Authorization?
This is a header value you provide with every request. We are using the Bearer token so send in the header like this: "Authorization: Bearer <your API token>"
Im getting this error:
{"message":"username cannot be null or undefined.","timestamp":1634146255996}how do I fix it?
Make sure you have this "Content-Type": "application/json" header present in your requests.
Headers
Please check on how to send requests with headers in whichever languages you are using.
POST Request:
{
"Authorization": "Bearer <your api token>",
"Content-Type": "application/json"
}
# Sample curl request
curl --location --request POST '<https://iproyal.proxiesapi.xyz/proxy_api/v1/iproyal/users/add_balance>' \\
--data-raw '{
"user_id": 21788,
"data_gb": 1
}' -H "Authorization: Bearer <your api token>" -H "Content-Type: application/json"
GET Request:
{
"Authorization": "Bearer <your api token>",
}# Sample curl request
curl --location --request GET 'https://iproyal.proxiesapi.xyz/proxy_api/v1/iproyal/users/21788' \
-H "Authorization: Bearer <your api token>"Last updated