TL;DR: Anti-bot systems block datacenter ASNs on sight. Mobile-carrier IPs share each address among thousands of real subscribers, so vendors won't touch them — making mobile proxies the highest-trust exit type for scraping.
Scraping at any meaningful volume has one core problem: anti-bot systems block datacenter IPs on sight. Cloudflare, DataDome, PerimeterX, Kasada, Akamai Bot Manager — they all maintain ASN blocklists, and AWS / Hetzner / OVH / Linode subnets are at the top. You can pay a residential proxy provider a high per-gigabyte rate to dodge that, or you can route through real mobile-carrier IPs from a phone sitting on Vodafone, Türk Telekom, T-Mobile or Verizon. That is what Nodetonet does.
This page walks through the actual setup: how to pair phones, how to chain a residential upstream for extra capacity, how to design sticky sessions per scrape job, and how to keep the cost low with prepaid credit.
1 · Why datacenter proxies fail at scale
The IP you scrape from determines whether your request gets a 200 or a CAPTCHA. Datacenter IPs are recognised by ASN — anti-bot rules match them in milliseconds. Residential proxies are better but expensive per gigabyte, and increasingly fingerprinted as proxy exits because large pools get recycled and flagged over time.
Mobile-carrier IPs sit in a different category. Carrier-grade NAT (CGNAT) means thousands of real users share each public IP at any moment. Blocking that IP would block paying customers mid-session — anti-bot vendors are extremely cautious about banning carrier ranges. The practical result: mobile IPs see significantly fewer blocks than datacenter IPs on the same protected target.
2 · Proxy type comparison for scraping
| Proxy type | Block-resistance | Cost model | Best scraping fit | Main limitation |
|---|---|---|---|---|
| Mobile (Nodetonet) | Highest — CGNAT shared IP | Prepaid credit, no per-GB fee | Protected targets, anti-bot bypass | Device count limits throughput |
| Residential | High, but pool recycling is an issue | Per GB ($8–15 typically) | Broad geographic coverage | Expensive at high volume |
| ISP / static residential | Medium-high, static IP | Per IP / month | Stable identity scraping | Easier to fingerprint as a proxy |
| Datacenter | Low — ASN blocked on protected sites | Very cheap per IP | Unprotected / internal targets | Immediate block on anti-bot sites |
3 · How Nodetonet fits the scraping stack
Nodetonet gives you three primitives that compose into a scraping backend:
- Paired devices — your own Android phones running the agent. Each phone is one exit IP that can rotate on demand via airplane-mode cycling. Add more phones for linear throughput scaling.
- Token groups — bundle multiple phones under one proxy endpoint. Requests load-balance across the pool using round-robin or least-connection, with optional sticky sessions when you need IP consistency across a session-aware flow.
- Upstream forwarding — if you need more geographic diversity than your phones provide, chain Bright Data, Smartproxy, IPRoyal or Oxylabs as an upstream residential provider. Nodetonet becomes your single stable HTTPS/SOCKS5 endpoint and manages the sticky-session modifiers on the upstream username automatically.
Rotation mechanics are explained in depth in when and why to rotate tokens and when to use rotating mobile proxies.
4 · Rotating vs sticky — which mode for which job
Choosing the wrong session mode is the most common scraping mistake. Here is the decision tree:
- Rotating (default) — each request goes out on a fresh IP. Use this for crawling product catalogues, SERP scraping, public data collection where each request is independent. Configure with token groups for automatic pool rotation.
- Sticky — one IP pinned to a named session for a set TTL. Use this for login flows, multi-step checkouts, scraping behind auth, and anything where changing IP mid-session triggers a re-auth or CAPTCHA challenge. Switch to sticky just by appending
-session-XXXXto your proxy username — no endpoint change required.
Most real scraping workflows mix both: rotate for discovery passes, go sticky for the extraction steps that require authentication.
5 · Step-by-step setup
- Sign up at /auth/register and add prepaid credit. There is no monthly subscription — idle proxies cost nothing.
- Install the agent on 2–4 Android phones (/download). Keep them on carrier data for traffic; Wi-Fi is used only for the control channel.
- Create a token group on the rotating proxies panel, add all phones, and set the rotation interval to match your target's session tolerance (30 s–5 min is common).
- Create an HTTP or SOCKS5 proxy bound to that token group. Set sticky session to
offfor pure rotation, or use-session-jobidin the username for sticky-per-job. - Optionally add IP allowlists, per-client quotas and thread limits to fence the scraper from the rest of your proxy infrastructure.
- Point your scraper at the proxy endpoint. Use Proxy Checker to verify the exit IP is a mobile carrier before running production jobs.
6 · Code example — Python with sticky sessions
A minimal Python scraper using the Nodetonet HTTPS proxy with one sticky session per scrape job, so each job's IP stays consistent across its requests:
import requests
import uuid
PROXY_HOST = "your-proxy.nodetonet.com"
PROXY_PORT = 8443
PROXY_USER = "your-token-id"
PROXY_PASS = "your-token-secret"
def scrape(url, job_id=None):
# Sticky session per job: same job_id = same exit IP for the entire run
sid = job_id or uuid.uuid4().hex
proxy_url = (
f"http://{PROXY_USER}-session-{sid}:{PROXY_PASS}"
f"@{PROXY_HOST}:{PROXY_PORT}"
)
proxies = {"http": proxy_url, "https": proxy_url}
r = requests.get(url, proxies=proxies, timeout=30)
return r.status_code, r.text
# 50 pages, each with its own session; IP rotates between jobs
for i in range(50):
code, body = scrape(
f"https://target.example.com/p/{i}",
job_id=f"job-{i}"
)
print(i, code)
For Playwright or Puppeteer, pass the proxy at launch: { proxy: { server: "https://your-proxy.nodetonet.com:8443", username: "...", password: "..." } }. Use SOCKS5 if you need full TCP transparency for WebSocket targets or DNS-over-proxy behaviour.
If you are chaining Smartproxy or Bright Data as upstream, configure that in the proxy detail page under Upstream > Provider > Credentials. Nodetonet handles sticky-session modifier injection on the upstream username transparently. See upstream residential forwarding and upstream username modifiers for the full mechanics.
7 · Geo and carrier targeting
Mobile proxies carry real location data — you can request a specific country, city or carrier directly in the proxy username without changing endpoints. Nodetonet supports modifiers like -country-tr, -city-istanbul or carrier-specific pools at Turkcell, Vodafone and Türk Telekom. For the full modifier syntax see geo-targeting.
This matters for scraping localised content: SERP results, pricing, product availability and regional catalogue data all depend on where the request appears to originate.
8 · Advanced controls for production scraping
- Per-client auth and quota — if you run scraping for multiple customers from one proxy fleet, create a separate proxy client per customer with its own username/password, bandwidth quota and expiry date. See proxy clients and per-customer auth.
- Thread limits — cap concurrent connections per client to avoid overwhelming a single device. Explained in thread limits per client.
- Domain allow/deny lists — restrict which domains each proxy client can reach, useful when you want one proxy pool shared across internal and external scraping jobs. See domain restrictions.
- TCP fingerprint spoofing — Nodetonet edge servers can alter the TCP/IP stack fingerprint of outgoing connections, reducing the signal that TLS JA3/JA4 fingerprinting provides to anti-bot systems. See TCP fingerprint spoofing.
- Automatic failover — if a device goes offline mid-job, token groups automatically shift load to remaining online devices. See automatic failover.
9 · When this is not a fit
- You need exits in dozens of countries simultaneously — mobile device coverage follows where phones are physically located. For broad simultaneous geo coverage, chain a residential upstream provider.
- You need massive parallelism from a single pool — device-limited throughput scales by adding phones. At very high request volumes, combine Nodetonet with an upstream residential pool for the overflow.
- The target explicitly blocks mobile carrier ASNs — uncommon, but a small number of platforms now flag specific carrier ranges. Test with Proxy Checker before committing a large job.
- Adversarial use cases (account takeover, credential stuffing, ToS violations) — not supported; accounts are terminated.
For a full platform overview start at Features, verify any IP with the free What is my IP tool, or register and pair your first phone to run a test scrape today.