Website Block Checker: Datacenter vs Real Mobile IP
Pricing
from $10.00 / 1,000 url checkeds
Website Block Checker: Datacenter vs Real Mobile IP
Find out whether a website blocks scrapers by IP type. Each URL is loaded from a datacenter IP and from a real Singapore 4G mobile IP, and you get which one was blocked or challenged (Cloudflare, Akamai, PerimeterX, DataDome, AWS WAF, Google, Reddit...).
Pricing
from $10.00 / 1,000 url checkeds
Rating
0.0
(0)
Developer
Xavier Fok
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Before you build a scraper, find out what you're up against. Give it a list of URLs and each one is loaded twice:
- from a datacenter IP (a cloud server, like most scrapers run from), and
- from a real Singapore mobile IP (a physical 4G modem with a Singtel or M1 SIM card).
You get back which side was blocked or challenged, by whom, and a plain-English verdict. Useful for:
- deciding whether a target needs residential/mobile proxies or whether cheap datacenter IPs will do
- debugging a scraper that suddenly gets 403s: is it your code, or your IP?
- checking whether a site shows different content to different kinds of visitors
Verdicts
| Verdict | Meaning |
|---|---|
blocks_datacenter | Refuses or challenges the datacenter IP, serves the mobile IP. You need better IPs. |
harder_on_datacenter | Hard-blocks the datacenter IP, but only shows the mobile IP a JS challenge a real browser can usually pass. Better IPs plus a browser will get through. Reddit behaves like this. |
blocks_both | Blocks both. IP quality alone won't fix it; you likely need a real browser (JS challenge) or a different approach. |
blocks_mobile | Rare, but it happens (some sites rate-limit carrier-grade NAT ranges). |
soft_block_datacenter_suspected | Both loaded, but the datacenter page was much smaller (a stripped or placeholder page is a common quiet block). |
open | Loads from both. Datacenter proxies are probably fine. |
open_regional_redirect | Loads from both, but each side was sent to a different regional site (e.g. amazon.com vs amazon.sg), so the pages aren't directly comparable. |
inconclusive / error | One or both sides couldn't connect. Not charged when both fail. |
rejected | The URL isn't a public website (see limits below). Not charged. |
Detected blockers include Cloudflare (challenge and 1020 blocks), Akamai, PerimeterX / HUMAN, DataDome, AWS WAF, Imperva, Google's "unusual traffic" page, Reddit's network wall, and plain 403/429 refusals.
Input
{"urls": ["https://www.reddit.com/r/python/","https://www.example-shop.com/category/shoes"]}
Output
One row per URL:
{"url": "https://www.reddit.com/r/python/","verdict": "harder_on_datacenter","summary": "Hard-blocks datacenter IPs (reddit); shows the mobile IP a challenge a real browser can usually pass.","datacenter": {"ok": true,"status": 403,"final_url": "https://www.reddit.com/r/python/","redirects": 0,"title": null,"bytes": 190240,"ms": 16,"blocked": true,"block_vendor": "reddit","block_kind": "denied","exit": {"ok": true,"ip": "32.198.x.x","country": "US","asn": 14618,"network": "Amazon.com, Inc."}},"mobile": {"ok": true,"status": 200,"final_url": "https://www.reddit.com/r/python/","redirects": 0,"title": "Reddit - Prove your humanity","bytes": 166958,"ms": 3894,"blocked": true,"block_vendor": "reddit","block_kind": "challenge","exit": {"ok": true,"ip": "111.65.x.x","country": "SG","asn": 45143,"network": "Singapore Telecom Mobile Pte Ltd"}},"region_note": null,"input_index": 0}
We never return page content, only status, title, size, timing and the block diagnosis.
Good to know
- Most sites don't block by IP alone. In our own tests on popular sites (Google, Amazon, Lazada, Walmart, Zillow), plain requests got through from both kinds of IP. That's useful to know too: if a site comes back
open, don't pay for premium proxies you don't need. - Location differs too. The datacenter side runs in Apify's cloud (usually the US); the mobile side is in Singapore. Some sites redirect by region, and
region_noteflags that when it happens. - One request per side, no JavaScript. Requests use a real Chrome TLS fingerprint, but no browser runs. A JS challenge counts as "challenged", even though a real browser might pass it.
- Limits: up to 20 URLs per run, standard ports (80/443) only, public websites only. Internal or private addresses, URLs with credentials, and our own infrastructure are refused, including after redirects.
The mobile IP behind this actor
The mobile side runs on a dedicated line from Singapore Mobile Proxy: real Singapore SIM cards (Singtel, M1) in physical modems, with IP rotation on demand from a link. If your target comes back blocks_datacenter, that's the kind of line that gets through. Code APIFY15 takes 15% off your first payment.
Want to check proxies you already have? See our Proxy Checker.
Data attribution
IP to ASN and country data: DB-IP Lite, licensed CC BY 4.0.