Mobile Proxies

Mobile proxies route your traffic through IP addresses assigned by cellular carriers (AT&T, T-Mobile, Verizon, Vodafone, etc.) to real smartphones and tablets on 4G and 5G networks. Because thousands of real devices share the same carrier NAT IP, anti-bot systems treat these addresses with extraordinary leniency — blocking them risks false-positives against millions of legitimate users.

NinjasProxy mobile IPs are sourced from real carrier-connected devices in our consent-based peer network. The pool covers 60+ countries across all major carriers. Mobile IPs are refreshed automatically as devices cycle through carrier NAT rotation.

Best use cases: mobile-specific scraping (app-store pages, carrier-gated content), social media automation, app testing under real carrier conditions, and any target that fingerprints ASN or IP-type to block non-mobile traffic.

Endpoint & Port

ModeHostPort
Rotating (new IP per request)m.ninjasproxy.com8080
Sticky (fixed carrier IP)m.ninjasproxy.com8080

Username Targeting Format

Targeting parameters are encoded as dash-delimited suffixes on your username. Supported parameters for mobile proxies:

ParameterSyntaxExample
Country-country-XX-country-US
Carrier-carrier-NAME-carrier-att
Sticky session-session-ID-session-mobile42

Carrier codes

Common carrier slugs (lowercase, no spaces):

att        → AT&T (US)
tmobile    → T-Mobile (US)
verizon    → Verizon (US)
vodafone   → Vodafone (UK/EU/AU)
o2         → O2 (UK/DE)
orange     → Orange (FR/ES/PL)
docomo     → NTT Docomo (JP)
softbank   → SoftBank (JP)
telstra    → Telstra (AU)
Full carrier list is available in the portal under Proxy Settings → Mobile → Carrier coverage. Availability varies by country — if the requested carrier has no available peer, the request falls back to any mobile IP in the target country.

Targeting Examples

# Rotating mobile IP — any country
USERNAME:API_KEY

# US mobile IP, any carrier
USERNAME-country-US:API_KEY

# US AT&T specifically
USERNAME-country-US-carrier-att:API_KEY

# UK Vodafone, sticky session
USERNAME-country-GB-carrier-vodafone-session-sess01:API_KEY

# Japan NTT Docomo
USERNAME-country-JP-carrier-docomo:API_KEY

Code Examples

curl

# US mobile IP via AT&T — rotating
curl --proxy "http://USERNAME-country-US-carrier-att:API_KEY@m.ninjasproxy.com:8080" \
     "https://api.ipify.org?format=json"

# Sticky mobile session — UK Vodafone
curl --proxy "http://USERNAME-country-GB-carrier-vodafone-session-uk01:API_KEY@m.ninjasproxy.com:8080" \
     "https://api.ipify.org?format=json"

# Verify ASN / IP type
curl --proxy "http://USERNAME-country-US-carrier-tmobile:API_KEY@m.ninjasproxy.com:8080" \
     "https://ipapi.co/json/" | python3 -m json.tool

Python (requests)

import requests

PROXY_HOST = "m.ninjasproxy.com"
PROXY_PORT = 8080
USERNAME   = "your_username"
API_KEY    = "your_api_key"

def mobile_proxies(country: str, carrier: str | None = None, session: str | None = None) -> dict:
    user = USERNAME
    if country:
        user += f"-country-{country}"
    if carrier:
        user += f"-carrier-{carrier}"
    if session:
        user += f"-session-{session}"
    url = f"http://{user}:{API_KEY}@{PROXY_HOST}:{PROXY_PORT}"
    return {"http": url, "https": url}

# US AT&T rotating
r = requests.get(
    "https://api.ipify.org?format=json",
    proxies=mobile_proxies("US", carrier="att"),
    timeout=30,
)
print("Mobile IP:", r.json()["ip"])

# Sticky session — same carrier IP across requests
proxies = mobile_proxies("US", carrier="tmobile", session="scrape-run-1")
for i in range(5):
    r = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=30)
    print(f"Request {i+1}:", r.json()["ip"])  # Should be the same IP each time

# App store scraping example
headers = {
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) "
                  "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
    "Accept-Language": "en-US,en;q=0.9",
}
r = requests.get(
    "https://apps.apple.com/us/app/example/id123456789",
    proxies=mobile_proxies("US", carrier="att"),
    headers=headers,
    timeout=30,
)
print("Status:", r.status_code)

Trust Score Advantage

Mobile carrier IPs receive the highest trust scores from anti-bot platforms because:

Next Steps