Skip to content
How to Get Real-User IPs for Web Scraping
Article

How to Get Real-User IPs for Web Scraping

Web Scraping

Learn how real-user IPs work for web scraping. Audit proxy pool origin ASNs via DNS, verify residential IP claims, and bypass anti-bot detection.

By MrScraper Team 9 min read

A rigid datacenter rack, much of it flagged, against a dispersed mesh of real consumer nodes.

To get real-user IPs for web scraping, route your requests through verified residential proxy networks (peer networks or ISP-backed pools) or a managed Web Unblocker API. You can verify whether an IP is a real-user residential node rather than a disguised datacenter IP by sampling exit IPs in Python and querying their Autonomous System Number (ASN) via DNS lookups against database mapping services like Team Cymru (origin.asn.cymru.com). Real-user IPs return consumer ISP designations (e.g., Comcast, AT&T) rather than cloud hosting providers (e.g., AWS, DigitalOcean).

Acquiring real-user IPs for web scraping is critical when target websites deploy strict anti-bot detection, rate limiting, and IP reputation scoring. While many proxy providers market their IP inventory as "residential," no centralized auditing body regulates proxy pool labeling.

Mislabeled proxy inventory wastes time and infrastructure budget: routing traffic through datacenter servers disguised under residential pricing yields high block rates while multiplying cost per gigabyte. This guide explains how to technically audit proxy pools using origin ASN lookups, sample live exit IPs in Python, and configure genuine residential proxies spanning over 200+ countries for web scraping pipelines.

What real-user IPs actually mean

A real-user IP address comes from a consumer Internet Service Provider (ISP). It is assigned to an active home or mobile subscriber. Because consumer IP ranges carry high trust scores, traffic originating from these addresses rarely triggers automatic CAPTCHA challenges.

Proxy providers supply residential inventory using three distinct technical architectures:

  1. Consented Peer Networks: Traffic routes through genuine consumer devices via SDK integrations in applications. Exit nodes represent actual subscriber connections with authentic ISP fingerprints.
  2. ISP-Registered Datacenter Ranges: Providers lease IP blocks registered to consumer ISP names. They host these IPs in commercial data centers. These exhibit datacenter speeds but lack true residential behavior.
  3. Hosting-Sourced Proxy Ranges: Published measurement studies (such as research presented at ACM IMC and NDSS) show that some inventory sold across commercial proxy networks originates from hosting provider ranges rather than consumer ISP subscriber allocations.

Evaluating proxy inventory requires distinguishing genuine peer networks from commercial hosting ranges before committing scraping volume.

Comparing IP proxy types

Different IP categories offer distinct trade-offs between cost, speed, and target access rate:

Proxy Category Registry ASN Signature Cost Structure Anti-Bot Block Rate Best Technical Application
Datacenter Hosting / Cloud Provider Low (Fixed or per GB) High on protected targets Open APIs, sitemaps, unblocked targets
Static ISP Consumer ISP Name (Data Center) Moderate (Per IP / GB) Moderate Long-session logins, persistent state
Real-User Residential Consumer ISP Name (Peer) Higher per GB Low E-commerce, SERPs, protected sites
Mobile Residential Mobile Carrier AS Name Highest per GB Extremely Low High-security targets, app scraping

To evaluate proxy options before auditing, review our residential vs datacenter proxy comparison and mobile versus residential proxy breakdown.

Auditing origin ASNs via DNS

An exit IP resolves through a DNS lookup to either a consumer ISP or a hosting provider.

Every routable IP address belongs to an autonomous system (RFC 1930) identified by an Autonomous System Number (ASN). Because ASN announcements are public, you can verify network ownership directly.

The Team Cymru IP-to-ASN mapping service allows querying network ownership over DNS without API keys:

bash
# Query origin ASN for target IP (reverse octet format)
dig +short 8.8.8.8.origin.asn.cymru.com TXT
# Output: "15169 | 8.8.8.0/24 | US | arin | 2023-12-28"

# Resolve ASN number to owning organization name
dig +short AS15169.asn.cymru.com TXT
# Output: "15169 | US | arin | 2000-03-30 | GOOGLE - Google LLC, US"

Running DNS queries against genuine consumer IPs yields ISP designations:

bash
dig +short 1.0.162.73.origin.asn.cymru.com TXT
# Output: "7922 | 73.0.0.0/8 | US | arin | 2005-04-19"

dig +short AS7922.asn.cymru.com TXT
# Output: "7922 | US | arin | 1997-02-14 | COMCAST-7922 - Comcast Cable Communications, LLC, US"

An AS name listing Comcast, Deutsche Telekom, or AT&T indicates a consumer ISP: an AS name listing Amazon, DigitalOcean, or OVH indicates hosting infrastructure regardless of marketing claims.

Auditing a live proxy pool in Python

To audit a proxy provider, programmatically sample live exit IP addresses. Resolve their ASNs. Verify the share of genuine ISP nodes.

Install requests and dnspython:

bash
pip install requests dnspython

Run the automated ASN pool audit script:

python
import collections
import dns.resolver
import requests

PROXY = "http://USERNAME:PASSWORD@proxy.mrscraper.com:10000"

HOSTING_KEYWORDS = (
    "amazon", "google", "microsoft", "digitalocean", "ovh",
    "hetzner", "linode", "vultr", "hosting", "datacenter"
)

def get_origin_asn(ip: str) -> str:
    query = ".".join(reversed(ip.split("."))) + ".origin.asn.cymru.com"
    try:
        ans = dns.resolver.resolve(query, "TXT")
        return str(ans[0]).strip('"').split("|")[0].strip()
    except Exception:
        return None

def get_asn_name(asn: str) -> str:
    try:
        ans = dns.resolver.resolve(f"AS{asn}.asn.cymru.com", "TXT")
        return str(ans[0]).strip('"').split("|")[-1].strip()
    except Exception:
        return "Unknown"

def audit_proxy_pool(samples: int = 100):
    session = requests.Session()
    session.proxies = {"http": PROXY, "https": PROXY}
    ips, failures = [], 0

    for _ in range(samples):
        try:
            res = session.get("https://api.ipify.org", timeout=15)
            ips.append(res.text.strip())
        except requests.RequestException:
            failures += 1

    unique_ips = set(ips)
    counts = collections.Counter()

    for ip in unique_ips:
        asn = get_origin_asn(ip)
        if not asn:
            counts["Unannounced"] += 1
            continue
        name = get_asn_name(asn)
        is_hosting = any(k in name.lower() for k in HOSTING_KEYWORDS)
        counts["Datacenter / Hosting" if is_hosting else "Consumer ISP"] += 1

    print(f"Sampled IPs: {len(ips)} | Unique: {len(unique_ips)} | Failures: {failures}")
    if unique_ips:
        for category, count in counts.items():
            print(f"{category}: {count} ({count / len(unique_ips):.1%})")
    else:
        print("No successful IP samples collected to audit.")

if __name__ == "__main__":
    audit_proxy_pool(50)

Evaluate pool quality using two metrics. The consumer ISP percent should be near 100%. The ratio of unique IPs to total requests shows rotation depth. Learn how pool size affects success rate.

What the ASN check cannot tell you

While ASN lookups identify hosting IP ranges, three technical nuances require secondary evaluation:

  1. Static ISP Range Overlaps: ISP-registered datacenter IP ranges return consumer AS names despite residing on server racks. Latency analysis resolves this: uniform low latency indicates datacenter hosting.
  2. Subscriber Consent Verification: ASN queries prove network ownership, not user opt-in consent. Vendor sourcing compliance must be verified during procurement.
  3. Carrier Grade NAT (CGNAT): Mobile carriers route thousands of subscribers through shared public IPs, reducing effective IP diversity despite high unique exit counts.

Combine ASN lookups with latency testing and procurement diligence: verifying network origin ensures you pay residential pricing only for authentic consumer inventory.

Procuring real-user IPs with MrScraper

MrScraper's Residential Proxy provides access to rotating residential proxies spanning over 200+ countries using standard HTTP proxy protocols.

Configure rotating or sticky proxy sessions directly within Python requests:

python
import requests

# Rotating proxy: returns a fresh residential exit IP per request
rotating_proxy = "http://YOUR_USERNAME-country-us:YOUR_PASSWORD@proxy.mrscraper.com:10000"

# Sticky proxy: retains the same residential IP address for 30 minutes
sticky_proxy = "http://YOUR_USERNAME-country-us-sessid-session1-sesstime-30:YOUR_PASSWORD@proxy.mrscraper.com:10000"

def fetch_with_residential_proxy():
    response = requests.get(
        "https://api.ipify.org",
        proxies={"http": rotating_proxy, "https": rotating_proxy},
        timeout=30
    )
    response.raise_for_status()
    print(f"Assigned Residential Exit IP: {response.text.strip()}")

if __name__ == "__main__":
    fetch_with_residential_proxy()

The -country-, -sessid-, and -sesstime- parameters control geographical targeting and session persistence. For details on session configuration, see sticky vs rotating residential proxies.

Comparing proxy acquisition models

Acquisition Approach Network Origin Infrastructure Overhead Best Application
Managed Residential Proxy API Consented Peer Network Zero (Managed Endpoint) Production scraping at scale
Static ISP Proxy Provider Leased Datacenter Range Low Fixed-session automation
In-House Peer Network Build Custom App SDK Extremely High (Legal & DevOps) Specialized enterprise requirements
Free Public Proxy Lists Unknown / Unsecured High risk (Logged traffic) Non-critical testing only

Building custom peer networks introduces severe legal, regulatory, and mobile app maintenance overhead. Utilizing a managed residential proxy endpoint provides scalable IP rotation without infrastructure complexity. Review legal considerations in our overview on is web scraping legal.

To compare MrScraper's managed proxy architecture against enterprise competitors, explore our web scraper comparison hub or read our head-to-head MrScraper vs Bright Data comparison.

Troubleshooting residential proxy pools

Symptom Primary Cause Resolution
ASN Audit Reports High Hosting Ratio Mislabeled datacenter inventory Provide ASN audit logs to vendor and request genuine residential pool routing
407 Proxy Authentication Required Malformed username modifier formatting Verify modifier ordering: -country- followed by -sessid- and -sesstime-
Repeated Exit IPs on Rotating Requests Persistent sessid parameter present in connection string Omit -sessid- and -sesstime- to enable per-request rotation
High Request Failures / Timeouts Peer node disconnects during request cycle Implement exponential backoff retries and configure automatic session fallback
Block Rates Spike Despite Clean ASNs Browser TLS fingerprinting or HTTP header mismatches Align request headers, user-agents, and TLS signatures alongside proxy rotation

Frequently asked questions

Using residential proxies for web scraping is lawful if you follow the rules. Your data collection must comply with privacy laws, copyright laws, and the website’s terms. Ensure your proxy vendor obtains explicit consent from peer network participants.

How do I check if a residential proxy pool is authentic?

Sample exit IPs using a script, execute DNS TXT queries against Team Cymru's mapping service (origin.asn.cymru.com), and verify that origin ASNs match consumer ISPs (e.g., Comcast, AT&T) rather than hosting providers (e.g., AWS, DigitalOcean).

What is the difference between static ISP and residential proxies?

Residential proxies route traffic through active consumer home devices, providing high trust scores but variable latency. Static ISP proxies use ISP-registered IP blocks on data center servers. They offer high speed and fixed sessions with moderate trust scores.

Why do rotating residential proxies experience higher latency?

Traffic passes through end-user consumer devices and home internet connections, introducing variable network latency compared to commercial fiber connections in data centers.

How does geo-targeting work with residential proxies?

Proxy gateways check connection settings (such as -country-us) and send the request through an active exit peer in that region.

Ready to route your scraper through verified residential proxies across 200+ countries? Try MrScraper free today—claim your 1,000 free Plan Tokens with no credit card required.

A holographic global plane of glowing consumer IP nodes linked by arcs.

Summarize this post

Open it in your assistant of choice with the prompt ready to send.

Take a Taste of Easy Scraping!