Choosing Mobile Proxies for Web Scraping
The best mobile proxy for scraping is the one with the lowest cost per successful page on your target, not the lowest price per GB. Per-GB networks win for light, wide crawls with many exits; dedicated lines win for steady, heavy crawls in one country. Measure both on a one-day paid test before committing.
The short answer
- Compare providers on billing model, parallel exits, rotation control, targeting and API, then on price. Headline per-GB rates hide plan minimums and page weight.
- Per-GB mobile traffic listed between $2 and $9 per GB at entry level across the providers we checked; dedicated devices are priced per day or month instead.
- Page weight decides the bill on metered plans. A full browser render can cost many times what an HTML-only request does.
- Test on the real target for a day and compute cost per 1,000 successful pages for each option.
What scraping asks of a proxy
A scraper puts different demands on a proxy than an account session does. It sends many similar requests, cares more about throughput than identity, and is judged by how many pages come back complete.
Four things matter most. Exits in parallel: how many different addresses you can use at the same moment. Rotation: whether the exit changes per request, on a schedule or when you decide. Cost per page: what you pay for each page that arrives intact, including retries and blocked responses. Network type: whether the target treats carrier traffic differently from broadband or hosting traffic.
Mobile exits help on targets that challenge datacenter and some residential ranges heavily, because carrier addresses are shared by many ordinary subscribers through carrier-grade NAT. They do not make a scraper invisible. Request pace, headers, browser fingerprint and the order of page loads all still count.
Collect responsibly. The Robots Exclusion Protocol, standardized in RFC 9309, is how site owners state which paths crawlers may fetch. Respect it and the site's terms, keep request rates reasonable and avoid personal data you have no basis to collect. For collection techniques, see our web scraping proxy guide.
Five criteria before price
Billing model. Metered plans charge per GB and often add a monthly minimum. Dedicated devices charge per day, week or month. Light, uneven work suits metered; heavy, steady work suits per-device pricing.
Parallel exits. A shared network can give you hundreds of exits at once. A dedicated device gives one at a time. Count how many simultaneous addresses your crawler needs at peak.
Rotation control. Shared networks usually rotate per request or hold a sticky session set by a parameter. Decodo documents sticky sessions from 1 to 1,440 minutes with a 10-minute default (Decodo sticky sessions), and Oxylabs uses a session ID in the username to hold one IP across requests (Oxylabs session control). A dedicated line holds its address until you rotate it.
Targeting. Check whether you need country, city, ZIP, carrier or ASN, and whether the provider charges extra for it.
API and tooling. A crawler at scale needs programmatic rotation, health checks and replacement. Check what the provider's API exposes before you build around it.
Providers compared
| Provider | Billing model | Entry price listed | Volume price listed | Sessions and rotation |
|---|---|---|---|---|
| Coronium | Per dedicated line: 24 hours, 7 days or 30 days | From $7 for 24 hours | From $97 for 30 days; data not metered except Brazil | Holds IP; rotate by button, API, link or timer, 60 seconds minimum |
| Decodo | Per GB, monthly plans or pay-as-you-go | $4 per GB pay-as-you-go, shown as 50% off $8 | $2.25 per GB on the 500 GB plan, discounted display | Rotating or sticky, 1 to 1,440 minutes |
| Oxylabs | Per GB, falling with volume | $7.50 per GB at small volumes | $3.50 per GB from 714 GB | Session ID holds an IP; static sessions listed at 24 hours |
| SOAX | Credits on monthly plans, or Sandbox top-ups | $5.00 per GB, Sandbox, Tier 1 | From $0.85 per GB, Enterprise, Tier 1 | Per request, by count, by time or on error; sticky to one node |
| DataImpulse | Per GB, pay-as-you-go | $2 per GB | $1.60 per GB at 1 TB | Per request, or sticky up to 2 hours |
| ProxyEmpire | Per GB rotating; per device dedicated | $9.00 per GB list, 50% coupon shown | $4.00 per GB list at 1,000 GB; US 5G device $250 a month | Per request; device resets on demand or a few times a day |
| IPRoyal | Per dedicated device | $10.11 for 24 hours | $130.00 for 30 days; 30 GB daily limit per proxy | Rotation configured in the dashboard |
Sources for each row: Decodo mobile pricing, Oxylabs mobile pricing, SOAX pricing, DataImpulse mobile proxies, ProxyEmpire pricing and IPRoyal mobile proxies. The Coronium row reads the live catalog when this page loads. Discount labels and plan names were as shown on the day; recheck at checkout. Our broader mobile proxy provider comparison covers more providers.
Reading the table fairly
Headline prices across these pages are not like for like, so adjust them before comparing.
Discount labels. Two providers showed prices as a percentage off a higher listed rate on the day we checked. Treat the discounted figure as current but not permanent, and check what renews at full price.
Minimums and plan fees. A low per-GB rate attached to a large monthly plan only applies if you buy that plan. For small crawls, the entry rate is the honest comparison.
Expiry and rollover. SOAX plan credits are valid for 60 days, DataImpulse traffic does not expire and ProxyEmpire rolls unused GB forward. If your crawl volume swings month to month, this changes the real cost more than the headline rate.
Caps on devices. Per-device pricing is not always unmetered. IPRoyal lists a 30 GB daily limit per dedicated proxy; Coronium lines are not metered except in Brazil, where they include 20 GB a month.
Tax. Several prices were shown before VAT. Add it if it applies to you.
What stops scrapers, and what a mobile exit changes
It helps to be precise about which defenses a mobile exit affects, because buying the wrong fix is the most common waste in scraping budgets.
Network reputation and type. Many sites score or block whole ranges: hosting providers first, then ranges with a history of abuse. A carrier exit changes this signal, since the address is shared with ordinary subscribers and reads as cellular in commercial databases. This is the main thing a mobile proxy buys you.
Rate limits. Sites count requests per address, per session, per account or per fingerprint. A new address resets only the first. If your crawler is blocked for pace, rotation alone will not hold; slow down and spread the work.
Browser and TLS fingerprints. A headless browser with default settings, or an HTTP client whose TLS handshake does not match the browser it claims to be, is visible on any network. Fix the client; the proxy cannot.
Behavior. Loading only data endpoints, never assets, at perfectly regular intervals looks automated however clean the address is. Vary timing and follow the navigation a real visitor would.
Challenges. When a challenge page appears, record it as a failure, back off, and rotate only after the pace has dropped. Rotating at full speed tends to burn through addresses.
A mobile exit is worth paying for when the first item is your bottleneck. If the others are, spend the effort on the crawler first and test again.
Page weight decides a metered bill
| Average page weight | Monthly traffic | At $2.00 per GB | At $4.00 per GB | One Coronium line, Germany, 30 days |
|---|---|---|---|---|
| 0.1 MB, HTML or API only | about 10 GB | $20.00 | $40.00 | From $119 |
| 0.5 MB, HTML with some assets | about 50 GB | $100.00 | $200.00 | From $119 |
| 2 MB, full browser render | about 200 GB | $400.00 | $800.00 | From $119 |
On per-GB plans, what you fetch matters as much as how many pages you fetch. An API response or bare HTML page can be a small fraction of a megabyte; a full browser render that loads scripts, images and fonts can run to several megabytes.
The weights are illustrative; measure your own by logging response sizes for a sample of pages. The line column assumes one line can carry the volume at your crawl pace. A crawler that needs many simultaneous exits needs several lines, which multiplies that column.
Two habits cut metered cost sharply: block images, fonts and media in headless browsers when you only need text, and fetch JSON endpoints a page already calls instead of rendering the page. Both also reduce load on the target.
Pick by workload
| Workload | Better fit | Why |
|---|---|---|
| Wide crawl across many countries, light pages | Per-GB mobile network | Many exits and locations, low traffic |
| Heavy crawl in one country, every day | Dedicated lines | Fixed price with data not metered |
| Thousands of parallel requests in a burst | Per-GB mobile network | One device gives one exit at a time |
| Logged-in collection from a few accounts | Dedicated lines | Stable address per account, rotation under your control |
| City or ZIP-specific results | Per-GB network with city or ZIP targeting | Lines are chosen by country and carrier |
| Mobile app endpoints on a specific carrier | Dedicated line on that carrier | The exit is that carrier's network |
Mixing is normal. Many teams run the wide, light part of a crawl on metered traffic and the heavy or logged-in part on lines. Revisit the split each quarter, because crawls tend to grow in one direction: either toward more locations, which favors metered traffic, or toward more depth in the same markets, which favors lines. For the dedicated side, compare countries and carriers on the mobile proxies overview, and see web scraping with mobile proxies for setup patterns.
Testing on a paid 24-hour line
A day of real traffic tells you more than any table. Here is a test plan that works for any provider.
- Fix the target and the crawler. Use the same pages, headers, browser profile and pace for every option, and change only the proxy.
- Run for a full day. Targets behave differently at night and in the local evening.
- Log four numbers per request: status code, response size, time to complete and whether the page parsed correctly.
- Count only good pages. A 200 response that contains a challenge page is a failure.
- Compute cost per 1,000 good pages. For a line: the period price divided by good pages, times 1,000. For metered traffic: GB used times the rate, divided by good pages, times 1,000.
Here is the skeleton of a crawl loop that rotates a dedicated line between batches rather than mid-batch, using the restart endpoint from Coronium's API:
import time
import requests
API = "https://api.coronium.io/api/v3"
HEADERS = {"Authorization": "Bearer YOUR_API_TOKEN"}
MODEM_ID = "YOUR_LINE_ID"
PROXY = "http://USER:PASS@HOST:PORT"
proxies = {"http": PROXY, "https": PROXY}
def crawl(urls):
for url in urls:
r = requests.get(url, proxies=proxies, timeout=30)
yield url, r.status_code, len(r.content)
time.sleep(2) # pace between pages
def rotate():
r = requests.post(f"{API}/modems/{MODEM_ID}/restart", headers=HEADERS, timeout=150)
return r.json().get("rotated") # read the field, not the status code
for batch in batches: # your list of URL lists
for row in crawl(batch):
print(row)
rotate()
time.sleep(60) # never faster than the 60-second minimum
The restart call reports whether the address really changed in its rotated field. If it comes back false, wait and try again rather than starting the next batch on the old address.
On Coronium, the 24-hour plan is the test: buy one line on the carrier you want (the cheapest in-stock 24-hour line today: From $7), and run the plan above. If the result holds, move to 7 or 30 days, and ask for a volume code at 10 or more lines.
How we checked
Every competitor figure comes from that provider's own public pricing or documentation page, read on 30 October 2026, and is quoted as listed, including discount labels. Coronium figures come from the live catalog when this page renders. Coronium sells dedicated mobile lines and is listed here alongside competitors. We did not run a cross-provider scraping benchmark; the test plan above is how we suggest you run one.
Sources and review scope
Sources reviewed October 30, 2026. Coronium publishes this comparison and sells a competing mobile proxy service. Competitor facts come from each providerโs own public pages on the date shown and can change; check them at checkout. We did not benchmark speed or success rates. Coronium prices and stock come from the live catalog when the page renders.
- RFC 9309: Robots Exclusion Protocol
How sites state crawling rules.
- Decodo: custom sticky sessions
Sticky session range and default.
- Oxylabs: session control
Session ID parameter for holding an IP.
- Decodo mobile proxy pricing
Plans and per-GB rates, checked 30 October 2026.
- Oxylabs mobile proxy pricing
Volume per-GB rates and plans, checked 30 October 2026.
- SOAX pricing
Credit plans and tiered rates, checked 30 October 2026.
- DataImpulse mobile proxies
Per-GB rates and session modes, checked 30 October 2026.
- ProxyEmpire pricing
Rotating mobile and dedicated plans, checked 30 October 2026.
- IPRoyal mobile proxies
Dedicated mobile prices and daily data limit, checked 30 October 2026.
Frequently asked questions
Compare another provider or buying model
Match the billing model, session control and countries you need before comparing a headline price.
Related workflows
Setup patterns and live stock for scraping lines.
Collection techniques, pacing and parsing.
A wider provider comparison with a cost worksheet.
Every provider and proxy type comparison in one place.
Authenticated proxies in Scrapy with tested code.
Where to get a dedicated line
A Coronium mobile proxy is one physical device with its own SIM, rented to one customer. It connects over HTTP or SOCKS5, the IP changes by dashboard button, API link or timer, and data is not metered on dedicated lines. Brazil lines are the exception: 20 GB of data a month and a new IP on request only, with no timer. Stock and prices differ by country and carrier.