Skip to main content
Mobile proxies route your traffic through real mobile carrier connections on 3G, 4G, and 5G networks. The IPs come from carriers like Verizon, AT&T, Deutsche Telekom, and others worldwide. SOAX’s mobile pool includes over 30 million IPs from carriers across 195+ countries.

How mobile proxies are different

Mobile proxies use the same parameter system, session model, and connection format as residential proxies. The difference is where the traffic exits. With residential proxies, your requests go through home WiFi connections. With mobile proxies, they go through cellular carrier connections. This matters because: Mobile IPs are naturally shared. Carriers use NAT (network address translation) to share IP addresses across many subscribers. This means websites can’t easily block a mobile IP without risking blocking thousands of real users. As a result, mobile IPs tend to have lower detection and block rates than residential IPs on heavily protected targets. Some content is mobile-specific. Certain websites and apps serve different content, pricing, or ads to mobile users. Mobile proxies let you see exactly what a mobile visitor would see. Carrier metadata is different. Mobile IPs carry carrier and network type information (3G/4G/5G) rather than home ISP information. This can be relevant for ad verification, app testing, or any workflow where the connection type matters to the target.

When to use mobile proxies

Mobile proxies are the right choice when:
  • Your target site aggressively blocks residential IPs but is more lenient with mobile traffic.
  • You need to verify mobile ads, app content, or carrier-specific behavior.
  • You’re working with social media platforms that scrutinize connection types.
  • You need the lowest possible detection rate and are willing to work with a smaller pool.
For general-purpose scraping, residential proxies are a good starting point. If you’re hitting high block rates on specific targets, switching to mobile is worth testing.

Session types

Session behavior is identical to residential proxies. You can use rotating (new IP every request) or ephemeral sessions (same IP across multiple requests).

Rotating (no session)

Every request gets a new mobile node. No state between requests.
curl -x proxy.soax.com:1337 -U "network-mob-country-us:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo

Ephemeral sessions (held IP)

Include a session parameter to bind to a node and reuse the same IP across requests.
curl -x proxy.soax.com:1337 -U "network-mob-country-us-session-mobile1:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo
Session lifetime:
  • Sessions expire after 60 seconds of inactivity (no requests sent).
  • If the bound node becomes unavailable, the system replaces it based on your error handling rules.
Session ID rules:
  • You choose the session ID (any string you want).
  • Allowed characters: letters, digits, and underscores.
  • Maximum length: 32 characters.
  • Rules are locked on the first request for a given session ID. If you send a second request with the same session ID but different rules, the request is rejected with 409 SESSION_PARAMS_MISMATCH. To change rules, use a new session ID.

Geo-targeting

Geo-targeting works the same way as residential. You can filter by country, region, city, carrier (using the isp parameter), ASN, or zip code.
ParameterDescriptionFormatExample
countryCountry filterISO 3166-1 alpha-2, lowercasecountry-us, country-de
regionRegion or stateName with underscores for spacesregion-california, region-bavaria
cityCityName with underscores for spacescity-new_york, city-berlin
ispMobile carrierName with underscores for spacesisp-verizon_wireless, isp-t_mobile
asnAutonomous system numberASN numberasn-6167
zipPostal / zip codeZip codezip-10001
Use country-any if you want the full global pool without geographic filtering. Example: target T-Mobile subscribers in New York:
curl -x proxy.soax.com:1337 -U "network-mob-country-us-city-new_york-isp-t_mobile:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo
The mobile pool is smaller than the residential pool (30M vs 155M). Very specific targeting (small city + specific carrier) may result in fewer available nodes. If you get 502 NODE_NOT_FOUND errors, try broadening your filters.

Rotation rules

Rotation rules control when the system replaces the current node during a session. These work identically to residential.
ParameterDescriptionExampleMax
rotate-timed_NReplace the node after N seconds (accepts s, m, h suffixes)rotate-timed_300 (every 5 minutes), rotate-timed_10m1 week
rotate-requests_NReplace the node after N requestsrotate-requests_50 (every 50 requests)1,000,000
Rotation rules require a session. Without a session parameter, every request already gets a new node. Example: rotate mobile IP every 10 minutes:
curl -x proxy.soax.com:1337 -U "network-mob-country-us-session-m1-rotate-timed_600:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo
Timed rotation doesn’t interrupt requests that are already in progress. The current request finishes on the current node. The next request gets a new node.

Error handling

Error handling rules define what happens when a node fails during a session. These apply to infrastructure-level failures only (node offline, connection refused, timeout). Target website responses (HTTP status codes) are not visible to the proxy for HTTPS traffic.
ParameterDescription
onerror-replaceGet a new eligible node. This is the default.
onerror-retry_NRetry the request up to N times on the same node, then replace. Maximum N is 10.
onerror-failReturn the error to your client. No retry, no replacement.
Example: retry twice, then replace:
curl -x proxy.soax.com:1337 -U "network-mob-country-us-session-m1-onerror-retry_2:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo

Routing preferences

Routing preferences affect which node the system picks when it needs to select or replace a node.
ParameterDescription
prefer-lookalikePrefer a node with similar characteristics to the previous one (same carrier, region, etc.).
This is useful when you want IP changes to feel gradual. If your session was using a Verizon IP in Texas and the node goes offline, prefer-lookalike tells the system to look for another Verizon IP in Texas before falling back to any eligible mobile node. In the dashboard, this is the Prefer lookalike toggle in the Quick Connect (proxy generator) panel. Example:
curl -x proxy.soax.com:1337 -U "network-mob-country-us-session-m1-onerror-replace-prefer-lookalike:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo

Node binding

If you need strict binding to a single node with no automatic replacement, use bind-node.
ParameterDescription
bind-nodeLock the session to a single node. If the node fails, requests fail immediately instead of replacing.
When bind-node is active:
  • The session is locked to the node assigned on the first request.
  • Rotation rules are ignored.
  • If the node fails, you get an error (503 BOUND_NODE_FAILED) instead of a replacement.
  • You can combine it with onerror-retry_N to retry on the same node before failing.
  • Requires a session parameter.
Example:
curl -x proxy.soax.com:1337 -U "network-mob-country-us-session-locked1-bind-node:YOUR_PACKAGE_KEY" https://checker.soax.com/api/ipinfo

Network type parameter

To request mobile nodes, include network-mob in your connection string. If your proxy package has both residential and mobile enabled and you don’t specify a network type, the default is res (residential). To use mobile, you need to set it explicitly.
ParameterDescriptionValues
networkNetwork type filterres (residential), mob (mobile), res_mob (both), any (weighted)

Full parameter reference

Every parameter available for mobile proxies via Quick Connect:
ParameterDescriptionValuesDefaultRequires session
countryCountry filterISO 3166-1 alpha-2 (lowercase), anyanyNo
regionRegion/state filterName (underscores for spaces)anyNo
cityCity filterName (underscores for spaces)anyNo
ispCarrier filterName (underscores for spaces)anyNo
asnASN filterASN numberanyNo
zipPostal / zip filterZip codeanyNo
networkNetwork typeres, mob, any, or combined (e.g. res_mob)resNo
sessionSession identifierLetters, digits, underscores. Max 32 chars.(none, rotating)No
rotate-timed_NRotate after N (s/m/h suffix)Up to 1 week(keep node)Yes
rotate-requests_NRotate after N requestsUp to 1,000,000(keep node)Yes
onerrorError handlingreplace, retry_N (max 10), failreplaceYes
preferRouting preferencelookalike(none)Yes
bind-nodeLock to single nodeFlag (no value)offYes
Connection string format:
{rules}:{package_key}@proxy.soax.com:1337
Rules are separated by hyphens. Multi-word values use underscores. Rules can appear in any order.

Example configurations

Basic rotating proxy, US mobile:
network-mob-country-us:YOUR_PACKAGE_KEY@proxy.soax.com:1337
Session, German mobile, 10-minute rotation:
network-mob-country-de-session-de1-rotate-timed_600:YOUR_PACKAGE_KEY@proxy.soax.com:1337
Session with retry on error, then replace with lookalike:
network-mob-country-us-session-m1-onerror-retry_3-prefer-lookalike:YOUR_PACKAGE_KEY@proxy.soax.com:1337
Specific carrier and city:
network-mob-country-us-city-los_angeles-isp-verizon_wireless-session-v1:YOUR_PACKAGE_KEY@proxy.soax.com:1337
Locked to a single mobile node:
network-mob-country-us-session-locked1-bind-node:YOUR_PACKAGE_KEY@proxy.soax.com:1337

Limits

ConstraintValue
Session ID max length32 characters
Session ID charactersLetters, digits, underscores
Ephemeral session inactivity timeout60 seconds
Concurrent sessionsPackage-dependent
RPS limitPackage-dependent
Concurrent connectionsPackage-dependent
rotate-timed_N max1 week
rotate-requests_N max1,000,000
onerror-retry_N max10
DNS label limit (IP Auth over HTTPS)63 characters

Residential vs mobile: quick comparison

ResidentialMobile
IP sourceHome ISP connectionsMobile carrier connections (3G/4G/5G)
Pool size155M+30M+
Detection riskLowVery low
Best forGeneral scraping, price monitoring, SEOMobile content, ad verification, heavily protected targets
Default network typeYes (res)No (must specify network-mob)
Credit cost per tierSameSame
Parameter systemIdenticalIdentical

Next steps

Residential proxies

Full reference for residential proxy configuration.

Authentication

How to authenticate with username/password or IP Auth.

Error codes

Full list of SOAX error codes with causes and fixes.

Python examples

Working Python code for mobile proxies.