← All proxy documentation

IPRoyal

Point a browser profile at IPRoyal residential proxies. Three steps, no plugin, no proxy-auth extension.

Royal Residential. Unusually, every targeting knob rides in the password rather than the username.

1. Get the credentials

In your IPRoyal dashboard, open the residential product and copy the gateway host, the port, and the username and password. Everything below assumes those four values.

2. Build the proxy URL

One string, credentials included. Targeting and session options go in whichever half this provider puts them in - the table below says which.

http://<username>:<password>_country-us_session-ABCDEFGH_lifetime-10m@geo.iproyal.com:12321

3. Launch

Timezone, locale and WebRTC are derived from the exit address, so a US exit does not arrive with your own timezone attached.

await ab.launch({
  profile: 'acc-01',
  proxy: 'http://<username>:<password>_country-us_session-ABCDEFGH_lifetime-10m@geo.iproyal.com:12321',
})
launch(
    profile="acc-01",
    proxy="http://<username>:<password>_country-us_session-ABCDEFGH_lifetime-10m@geo.iproyal.com:12321",
)

Prefer not to run an account at all? Managed residential proxies are included on paid plans.

Parameters

Read off IPRoyal's own documentation on 2026-08-28. Ports and endpoints differ by plan and by zone, so where this table and your dashboard disagree, the dashboard is right.

Gateway geo.iproyal.com picks a server for you. proxy.iproyal.com, us.proxy.iproyal.com and sg.proxy.iproyal.com are the regional entries.
Ports 12321 for HTTP and HTTPS, 32325 for SOCKS5.
Protocols HTTP, HTTPS and SOCKS5, on different ports.
Options ride in the password
Country targeting _country-<iso2>, appended to the password
Sticky session _session-<8 random alphanumerics> plus _lifetime-<duration>, appended to the password. One time unit per value.
Session length 1s to 7d.
Source https://docs.iproyal.com/proxies/residential

Worth knowing

  • The knobs are in the password, so a credential that authenticates but ignores your country is almost always this: the parameters went into the username.