How residential & mobile proxies actually work
What you really buy, where your settings live, and why your login looks the way it does. Read this before you decide something is broken.
Both behave the same way: same host, ports, targeting, rotation, and settings. The only difference is the pool. Residential uses home-ISP IPs, mobile uses mobile-carrier IPs, and mobile traffic costs a little more. So everywhere below, "residential" covers mobile too.
What you actually get
A residential or mobile plan is not a single IP address. It is four things:
- one gateway host,
rs.geekproxy.io(or IP67.213.121.89); - two ports:
823for HTTP/HTTPS and824for SOCKS5 (rotating); - a login & password (or IP-whitelist auth);
- a traffic balance in GB.
That single host is a door to the entire residential pool. Every request you send through it can exit from a different real IP, picked automatically from millions of addresses across 190+ countries. You don't manage a list of IPs. You send traffic through one address and tell the network which IP you want via your settings. Billing is per GB of traffic, never per IP.
Proxy Access
Traffic usage 4
- 1Login & Password. Your credentials, and where targeting parameters get attached (see §4).
- 2Proxy Host. The gateway you connect to. It's not an IP you exit from; it routes you into the whole pool.
- 3Ports.
823/824rotate the IP; sticky sessions use ports10000–20000. - 4Traffic usage. You're billed by GB. This is your meter, and proof you're buying traffic, not addresses.
Where it lives in the dashboard
Log in → Subscriptions → find your Residential proxy (or Mobile proxy) card → click Options. That opens the page above (Proxy Access + Proxy Configuration). It's the same for both.
Packet: Resident
Begin: 13.06.2026
Expire: 14.07.2026
Access IP: –
The Options button is the entire control panel for that plan. Everything below lives there.
Two ways to choose your IP & targeting
Same result, two methods. Use the dashboard for a default you keep; use the login for per-request control in code.
A · Use the dashboard as a string builder
Pick a country (and rotation, type, protocol). The Proxy List at the bottom updates to show the exact login you should use. Copy or download it. This is the part people miss: the panel builds the login for you; you then connect with that string.
A common mix-up: picking a country and clicking Save does not bind that country to your account. The geo selectors only build the example login shown in Proxy List. To use a country/city/state, copy that login (it contains __cr.xx) and connect with it. Save persists just two things: your session time (rotation interval) and the anonymous pool (Anonymous filter).
- 1Pick a country to build the login, and the Proxy List below updates to match. (It's a generator; the country itself isn't stored.)
- 2Save configuration persists only your session time and anonymous pool, not the country.
- 3Proxy List is the generated, ready-to-use login. Copy / Download it.
- 5Type = Rotating or Sticky (see §5).
The first tab (country / exclude country / exclude ASN) is included in the base price. The Target Filters tab (state, city, ZIP, ASN) is more precise but billed at double the rate, and a country is mandatory.
B · In the login (manual, per request)
Instead of saving a default, you can attach targeting directly to the username for a single connection. This is the source of "my login keeps changing": it's supposed to. The next section breaks it down.
The login string, decoded
A targeted proxy string looks intimidating but it's just five coloured parts. Only the magenta piece changes when you re-target, and it lives inside the username.
Parameters start after __ (double underscore). Each is key.value. Chain several with ; (semicolon). Host, port and password never change. Only the username tail does.
Parameters
| Key | What it does | Example |
|---|---|---|
cr | Target country (one or many) | __cr.de · __cr.de,au |
nocr | Exclude country | __nocr.de |
noasn | Exclude a provider's ASN | __noasn.as20947 |
state ×2 | Target a state (needs cr) | __cr.us;state.arizona |
city ×2 | Target a city (needs cr) | __cr.de;city.berlin |
zip ×2 | Target a ZIP code | __cr.us;zip.10001 |
asn ×2 | Target a specific carrier | __cr.pl;asn.39603 |
sessid | Hold one IP (~30 min) by id | __cr.au;sessid.42 |
sessttl | Sticky rotation, in minutes | __cr.fr;sessttl.60 |
anon | High-anonymity IPs only | __anon |
×2 = Target Filter, billed at double the standard rate. cr is required with these.
Targeting a US state
State, city, ZIP and ASN are Target Filters: traffic through them costs double the standard rate, and a country is required. To target a US state, put it in the login right after the country:
Write the state name as it appears in the dashboard's Target Filters → State picker (that list is also the full set of available states). Like every geo filter, the state isn't saved; it lives in the login you copy.
Rotating vs Sticky
| Rotating | Sticky | |
|---|---|---|
| IP behaviour | New IP (almost) every request | Same IP held for a while |
| Ports | 823 HTTP/S · 824 SOCKS5 | 10000–20000 |
| Duration | Per request | 1–120 min (default 30) |
| Good for | Scraping, max IP diversity | Logins, carts, multi-step sessions |
You can also get sticky behaviour on the rotating port by adding sessid (an id you invent) and sessttl (minutes) to the login, with no need to switch ports.
Connect: copy-paste examples
# Rotating: new IP each request (HTTP) curl -x "http://user_3f9a2c81:pwd_7b1e9d42@rs.geekproxy.io:823" https://api.ipify.org # Rotating over SOCKS5 curl -x "socks5://user_3f9a2c81:pwd_7b1e9d42@rs.geekproxy.io:824" https://api.ipify.org # Country = Germany, city = Berlin (Target Filter, ×2) curl -x "http://user_3f9a2c81__cr.de;city.berlin:pwd_7b1e9d42@rs.geekproxy.io:823" https://api.ipify.org # Sticky: keep one IP for 60 min curl -x "http://user_3f9a2c81__cr.fr;sessid.42;sessttl.60:pwd_7b1e9d42@rs.geekproxy.io:823" https://api.ipify.org
Run the first two a few times. The exit IP changes every time, all through the same host. That's the pool in action.
Either use login & password (above), or click Whitelist IPs on the plan to bind your own static IP and connect without a password.
Port access
Two different things get called "ports" here: the port you connect to on our gateway, and the destination port on the site you're reaching.
Connection ports: rotation vs sticky
The port you connect to on rs.geekproxy.io decides how your IP behaves:
823(HTTP/HTTPS) and824(SOCKS5) give constant rotation: a fresh IP on (almost) every request.10000–20000are for sticky sessions: connect on any single port in this range to hold one IP for the set time (1–120 min, default 30).
Destination ports: open by default
80 · 443 · 5228 · 53 · 5060 · 8080 · 8090 · 8443 · 853
Restricted
Ports tied to mail and messaging (SMTP, IMAP and similar) are blocked.
Contact support (live chat · Telegram @geekproxy_helpbot · Contacts) and include: the port you need, your use case in as much detail as possible, and the specific target you'll reach through it.
Blocked websites
To keep the pool healthy and our IPs in good standing, a few destinations are blocked on all residential and mobile plans:
- All government websites
- Banking and payment websites
- Traffic-monetization platforms: GetGrass, NodePay, Gradient, etc.
- HealthEquity
- Moviestarplanet
- SopranoVillas
- Ticketswap
- DDS hosting
- Greenshades (
greenshades.com,greenemployee.com,greenshadesonline.com,downloadmyform.com) - VFS Global (
visa.vfsglobal.com) fool.commspapis.comopenstreetmap.org,osm.orgrolimons.comtorbox.app4chan.org
Contact support (live chat · Telegram @geekproxy_helpbot · Contacts): name the website and describe your use case in as much detail as possible.
Common misunderstandings
"I only got one IP. Where are the rest?"
rs.geekproxy.io is a gateway to the whole pool. Send a request and the network assigns a real residential IP automatically; send another and you may get a different one. Run the curl to api.ipify.org twice to see it."Why is there all that text after my username?"
__cr.de;city.berlin…). Parameters are carried inside the login, so changing country/city/session changes the username. That's by design, not a bug."I set a country in the dashboard but nothing changed."
__cr.xx) and connect with it. Save configuration stores only your session time and anonymous pool, not the country."Why was my traffic charged double?"
cr) stays at the base rate."Error: no proxies available / NO_RAY."
"It connects, then drops after a while."
sessttl, or expect rotation. Also check you're under the 2000 concurrent threads limit.Error codes you'll actually see
| Code | Meaning & fix |
|---|---|
503 NO_RAY | No IPs for your targeting. Loosen city/ZIP/ASN. |
407 TRAFFIC_EXHAUSTED | GB balance used up. Renew or top up. |
407 THREADS_EXHAUSTED | Over 2000 concurrent connections. Slow down or contact support. |
403 PORT_BLOCKED | Target port not allowed. Open ports: 80, 443, 8080, 8443, 8090, 53, 5228, 5060, 853. |
403 HOST_BLOCKED | You blocked this host in the plan's Blocked Hosts. |
407 USER_BLOCKED | Plan is blocked. Contact support. |