Skip to main content

IPLoop Python SDK

Residential proxy SDK — one-liner web fetching through millions of real IPs.

pip install iploop-sdk

Quick Start

from iploop import IPLoop

# New format (v2): iploop_{short}_{secret} — single key, no customer_id needed!
ip = IPLoop("iploop_fd80eb86_72dabf65a3e44459423ade99a5e4a83e133c9125")

# Fetch any URL through a residential proxy
response = ip.get("https://httpbin.org/ip")
print(response.text)

# Target a specific country
response = ip.get("https://example.com", country="DE")

# POST request
response = ip.post("https://api.example.com/data", json={"key": "value"})

Smart Headers

Headers are automatically matched to the target country — correct language, timezone, and User-Agent:

ip = IPLoop("key", country="JP")  # Japanese Chrome headers automatically

Sticky Sessions

Keep the same IP across multiple requests:

s = ip.session(country="US", city="newyork")
page1 = s.fetch("https://site.com/page1")  # same IP
page2 = s.fetch("https://site.com/page2")  # same IP

Auto-Retry

Failed requests (403, 502, 503, timeouts) automatically retry with a fresh IP:

# Retries up to 3 times with different IPs
response = ip.get("https://tough-site.com", retries=5)

Async Support

import asyncio
from iploop import AsyncIPLoop

async def main():
    async with AsyncIPLoop("key") as ip:
        results = await asyncio.gather(
            ip.get("https://site1.com"),
            ip.get("https://site2.com"),
            ip.get("https://site3.com"),
        )
        for r in results:
            print(r.status_code)

asyncio.run(main())

Support API

ip.usage()     # Check bandwidth quota
ip.status()    # Service status
ip.ask("how do I handle captchas?")  # Ask support
ip.countries() # List available countries

Data Extraction

Auto-extract structured data from popular sites:

# eBay — extract product listings
products = ip.ebay.search("laptop", extract=True)["products"]
# [{"title": "MacBook Pro 16", "price": "$1,299.00"}, ...]

# Nasdaq — extract stock quotes
quote = ip.nasdaq.quote("AAPL", extract=True)
# {"price": "$185.50", "change": "+2.30", "pct_change": "+1.25%"}

# SERP / Google-compatible search results
# Use this preset instead of raw google.com/search to avoid verification pages.
results = ip.serp.search("best proxy service", country="US")["results"]
# [{"title": "...", "url": "..."}, ...]

# Backward compatible alias: ip.google.search(...) now uses the SERP-safe path by default.
results = ip.google.search("best proxy service", extract=True)["results"]

# Twitter — extract profile info
profile = ip.twitter.profile("elonmusk", extract=True)
# {"name": "Elon Musk", "handle": "elonmusk", ...}

# YouTube — extract video metadata
video = ip.youtube.video("dQw4w9WgXcQ", extract=True)
# {"title": "...", "channel": "...", "views": 1234567}

Smart Rate Limiting

Built-in per-site rate limiting prevents blocks automatically:

# These calls auto-delay to respect site limits
for q in ["laptop", "phone", "tablet"]:
    ip.ebay.search(q)  # 15s delay between requests

LinkedIn (New)

ip.linkedin.profile("satyanadella")
ip.linkedin.company("microsoft")

Concurrent Fetching (v1.3.0)

Batch fetch up to 25 URLs in parallel:

# Concurrent fetching (safe up to 25)
batch = ip.batch(max_workers=10)
results = batch.fetch_all([
    "https://ebay.com/sch/i.html?_nkw=laptop",
    "https://ebay.com/sch/i.html?_nkw=phone",
    "https://ebay.com/sch/i.html?_nkw=tablet"
], country="US")

# Multi-country comparison
prices = batch.fetch_multi_country("https://ebay.com/sch/i.html?_nkw=iphone", ["US", "GB", "DE"])

Chrome Fingerprinting (v1.3.0)

Every request auto-applies a 14-header Chrome desktop fingerprint — the universal recipe from Phase 9 testing:

# Auto fingerprinting — no setup needed
html = ip.fetch("https://ebay.com", country="US")  # fingerprinted automatically

# Get fingerprint headers directly
headers = ip.fingerprint("DE")  # 14 headers for German Chrome

Stats Tracking (v1.3.0)

# After making requests...
print(ip.stats)
# {"requests": 10, "success": 9, "errors": 1, "total_time": 23.5, "avg_time": 2.35, "success_rate": 90.0}

Debug Mode

ip = IPLoop("key", debug=True)
# Logs: GET https://example.com → 200 (0.45s) country=US session=abc123

Exceptions

from iploop import AuthError, QuotaExceeded, ProxyError, TimeoutError

try:
    response = ip.get("https://example.com")
except QuotaExceeded:
    print("Upgrade at https://iploop.io/pricing")
except ProxyError:
    print("Proxy connection failed")
except TimeoutError:
    print("Request timed out")

Links

Release files for iploop-sdk 1.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iploop-sdk 1.8.1
File Size Uploaded
iploop_sdk-1.8.1.tar.gz 62.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iploop-sdk 1.8.1
File Interpreter ABI Platform
iploop_sdk-1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 163.3 kB

Release files / iploop_sdk-1.8.1.tar.gz

Download URL iploop_sdk-1.8.1.tar.gz
Size 62.7 kB
Tags Source
SHA-256 checksum
How to use checksums
28aecaad64d472a7f8f4522f80f75a9e69fc7d5d7622be499f17dcc783647cc9
BLAKE2b-256 checksum
How to use checksums
2c2c872cf05505333487a1ea402baf8f0b7c5f88d5ebe9fca8f4a73be4e095c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / iploop_sdk-1.8.1-py3-none-any.whl

Download URL iploop_sdk-1.8.1-py3-none-any.whl
Size 100.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfbc7682ff98db2d5a0a48eeea316cf73902e59dbf4f9adc60891796fb640e92
BLAKE2b-256 checksum
How to use checksums
85231b7e7b53d1442d23b70ac3d1c278ee7f6203b141872a382568b0389a50d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.8.1 This release

2 release files

1.8.0

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page