Residential Web Scraper (US Verizon IPs)
Pricing
Pay per usage
Residential Web Scraper (US Verizon IPs)
Scrape any URL through 23 real US residential IPs (Verizon AS701). Bring your own MoneyMaker API key.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kevin Yen
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Residential Web Scraper — 23 Verizon US IPs
Fetch any URL through a real US residential IP (Verizon AS701, no datacenter
fingerprint). Each call rotates LRU through a 23-IP pool. Every dataset item
includes the literal egress IP so you can verify it yourself with ipapi.com
or WHOIS.
This Actor is a thin wrapper around the MoneyMaker Residential Scraping API. Apify hosts and runs the Actor; the residential proxy fleet runs on Hetzner with Verizon AS701 ISP proxies. Apify does not charge for this Actor — you bring your own API key from the MoneyMaker listing on RapidAPI (or directly from the publisher).
Why residential matters
Most modern target sites (Amazon, Zillow, LinkedIn, pricing pages, news index pages) apply ASN-level filtering at the TCP layer before the page renders. Datacenter ranges (AWS, GCP, DO, Azure) get a stripped HTML response or a challenge. A Verizon AS701 IP is in the same ASN class as 30M+ US home-broadband subscribers, so the request looks like a shopper on home Wi-Fi.
Concrete differences against datacenter origins:
- Pricing pages: Notion, Vercel, Linear serve different HTML to AWS visitors than to home broadband. ASN gating happens before React hydrates.
- E-commerce: Amazon's "Robot Check" interstitial fires on roughly 100% of bare AWS/GCP requests. Residential gets the live Buy Box price.
- Job boards: LinkedIn returns a stripped guest skeleton or a 999 to datacenter ranges; residential gets the full Apollo state JSON.
- Real estate: Zillow / Redfin use Akamai Bot Manager — datacenter ASNs
hard-fail at the TCP layer. Residential gets the full
__NEXT_DATA__.
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
urls | array | yes | One or more http(s) URLs to fetch |
apiKey | string (secret) | yes | Your MoneyMaker API key (mm_sk_...) |
apiBaseUrl | string | no | Default: the public MM origin |
method | string enum | no | GET / POST / HEAD (default GET) |
timeoutS | integer | no | 3-60s (default 20) |
followRedirects | boolean | no | Default true |
extraHeaders | object | no | Forwarded on every request (e.g. User-Agent) |
concurrency | integer | no | 1-20 parallel fetches (default 5) |
verifyTls | boolean | no | Default true |
Output
One dataset item per input URL. Successful items:
{"url": "https://example.com/","ok": true,"request_id": "req_w-v8wa1qZ79YcihQ","status_code": 200,"ip_used": "65.195.39.208","proxy_node": "Hetzner-12","headers": { "content-type": "text/html; charset=UTF-8" },"body": "<!DOCTYPE html>...","body_truncated": false,"upstream_latency_ms": 1313,"actor_latency_ms": 1380}
Failed items keep the URL and an error string for retry triage:
{"url": "https://broken.example/","ok": false,"upstream_status": 502,"error": "upstream_http_502","upstream_body_excerpt": "{\"error\":\"upstream_proxy_error: ...\"}","actor_latency_ms": 1820}
The Actor's key-value store also gets a SUMMARY record with totals and the
distinct residential IPs seen during the run.
How it works
Apify run│▼Actor (this code)│ POST /v1/scrape, Bearer <your MM key>▼MoneyMaker Scraping API (37.27.176.80:8443)│ Picks an LRU residential proxy from the 23-IP pool▼Verizon AS701 home-broadband IP│ GET / POST your target URL▼Target site responds → JSON body returned to Actor → push_data
You only pay MoneyMaker for the underlying calls — Apify is free. Costs follow the MoneyMaker pricing tiers on RapidAPI: 1,000 free / month, then $19 / 50k, $49 / 250k, $149 / 1M.
Pacing guidance
- Keep < 1 req/sec per target site averaged over 60s. The pool absorbs bursts but individual sites profile cadence over 5-60 minute windows.
- 23 unique IPs in the rotation handle moderate concurrency cleanly. Going
above
concurrency: 10mostly trades parallelism for per-IP request density at one site, which is what you don't want. - Cache aggressively. A pricing page changes once a day at most.
- Respect robots.txt and ToS. None of the Actor's behavior is designed to scrape paid content or bypass authentication.
Limitations
- No JS rendering. Static HTML only. For sites that need a headless browser, use Apify's Web Scraper Actor or ScrapingBee.
- US only. All egress is Verizon AS701 / United States. No EU / APAC residential pool.
- No CAPTCHA solving. If the target shows a CAPTCHA, you'll get the CAPTCHA HTML in the body — it's not auto-solved.
- Body cap of 2 MB per response (truncated and flagged via
body_truncated: true).
Source & support
The Actor source lives at
sksyen/moneymaker-dashboard/scripts/apify_actor.
Issues and feature requests go on the GitHub repo. Underlying API contract
is published as OpenAPI 3.0 at the /openapi.yaml path on the origin.