IPLoop Documentation

Your complete guide to residential proxies, web scraping, and data collection with IPLoop.

What is IPLoop?

IPLoop is a residential proxy network powered by real devices across 195 countries. Our SDK-based infrastructure provides clean, reliable IP addresses for web scraping, data collection, ad verification, and market research.

Key Features

Millions of residential IPs — real mobile and desktop devices
195 country coverage — with city and ASN-level targeting
HTTP/HTTPS & SOCKS5 — all major protocols supported
Sticky & rotating sessions — full control over IP rotation
99.9% uptime SLA — enterprise reliability
SDKs for Python, Node.js, Android — integrate in minutes

How It Works

  1. Sign up at iploop.io and get your API key
  2. Choose your method — proxy endpoint, SDK, or API
  3. Configure targeting — country, city, session type
  4. Start collecting data — clean, structured, reliable
Getting Started

New to IPLoop? Start with our Quick Start guide to make your first request in under 5 minutes.

Quick Start

Get up and running with IPLoop in under 5 minutes.

1. Get Your Credentials

Sign up at iploop.io to receive your API Key (new format: iploop_xxxxxxxx_xxxxxxxx...).

2. Make Your First Request

Using cURL:

bash
# Basic proxy request curl -x http://[email protected]:8880 \ https://httpbin.org/ip # With country targeting (US) curl -x http://[email protected]:8880 \ https://httpbin.org/ip

Using Python:

python
import requests proxies = { "http": "http://[email protected]:8880", "https": "http://[email protected]:8880", } response = requests.get("https://httpbin.org/ip", proxies=proxies) print(response.json())

Using Node.js:

javascript
const axios = require('axios'); const response = await axios.get('https://httpbin.org/ip', { proxy: { host: 'proxy.iploop.io', port: 8880, auth: { username: 'YOUR_API_KEY', password: 'API_KEY' } } }); console.log(response.data);

Authentication

All requests require authentication via your API Key (new format includes everything needed).

Basic Authentication

For proxy requests, use HTTP Basic Auth with your credentials:

text
http://[email protected]:8880

For API requests, use a Bearer token:

text
Authorization: Bearer YOUR_API_KEY

Parameter Format

Combine credentials with parameters using the format:

text
YOUR_API_KEY-param1-value1-param2-value2

Supported Parameters

Parameter Format Example
Country country-XX country-US
City city-NAME city-miami
ASN asn-NUMBER asn-12345
Session session-ID session-abc123
Session Type sesstype-TYPE sesstype-sticky
Lifetime lifetime-TIME lifetime-30
Keep Your Credentials Secure

Never share your API Key. Treat it like a password. If compromised, regenerate it immediately in your IPLoop dashboard.

Proxy Setup

Configure and use IPLoop proxies with HTTP, HTTPS, and SOCKS5 protocols.

Proxy Endpoints

Protocol Endpoint Port
HTTP/HTTPS proxy.iploop.io 8880
SOCKS5 proxy.iploop.io 1080

Connection Limits by Plan

Plan Concurrent Connections Requests/sec
Starter (10GB) 100 50
Growth (50GB) 500 200
Business (200GB) 2,000 1,000
Enterprise Unlimited Custom

HTTP Proxy Example

Configure your application to use IPLoop as an HTTP proxy:

bash
curl -x http://[email protected]:8880 \ -H "User-Agent: Mozilla/5.0" \ https://example.com

SOCKS5 Proxy Example

For applications that support SOCKS5:

bash
curl --socks5 [email protected]:1080 \ https://example.com

Geographic Targeting

Get IPs from specific countries, cities, and ASN networks.

Country Targeting

Route requests through specific countries using ISO 2-letter country codes:

bash
# US proxy curl -x http://[email protected]:8880 \ https://httpbin.org/ip # UK proxy curl -x http://[email protected]:8880 \ https://httpbin.org/ip # Germany proxy curl -x http://[email protected]:8880 \ https://httpbin.org/ip

City Targeting

Get IPs from specific cities:

bash
# Miami, Florida curl -x http://[email protected]:8880 \ https://httpbin.org/ip # New York curl -x http://[email protected]:8880 \ https://httpbin.org/ip # London curl -x http://[email protected]:8880 \ https://httpbin.org/ip

ASN Targeting

Target specific Autonomous System Networks:

bash
curl -x http://[email protected]:8880 \ https://httpbin.org/ip

Combining Parameters

You can combine country, city, and other parameters:

bash
# US + Miami + sticky session curl -x http://YOUR_API_KEY-country-US-city-miami-session-abc123@proxy.iploop.io:8880 \ https://httpbin.org/ip
Available Regions

IPLoop covers 195 countries and thousands of cities. Contact support for a complete list of available locations and ASNs.

Sessions & Rotation

Control IP rotation and maintain session persistence with sticky sessions.

Rotating Sessions (Default)

By default, each request gets a new IP address. Perfect for avoiding rate limits and getting diverse data:

bash
# Every request gets a new IP curl -x http://[email protected]:8880 \ https://httpbin.org/ip # Returns IP1 curl -x http://[email protected]:8880 \ https://httpbin.org/ip # Returns IP2 (different)

Sticky Sessions

Maintain the same IP address across multiple requests using session identifiers:

bash
# Create/reuse a sticky session curl -x http://[email protected]:8880 \ https://httpbin.org/ip # Returns IP1 curl -x http://[email protected]:8880 \ https://httpbin.org/ip # Returns IP1 (same)

Session Lifetime

Control how long a sticky session persists:

Parameter Format Example Description
Lifetime lifetime-MINUTES lifetime-30 Session stays active for 30 minutes
Session Type sesstype-sticky sesstype-sticky Maintain same IP for duration
Session ID session-CUSTOM_ID session-user123 Custom session identifier

Session with Lifetime Example

bash
# Sticky session for 30 minutes curl -x http://YOUR_API_KEY-session-user123-sesstype-sticky-lifetime-30@proxy.iploop.io:8880 \ https://httpbin.org/ip
Use Case Selection

Rotating: Web scraping, market research, data collection. Sticky: Logging in, account creation, checkout flows.

Protocols

Choose between HTTP CONNECT tunneling and SOCKS5 based on your needs.

Protocol Comparison

Feature HTTP CONNECT SOCKS5
HTTPS Support ✓ Full support ✓ Full support
HTTP/2 ✓ Supported ✓ Supported
Port Flexibility 8880 1080
Application Support Browsers, curl, requests Selenium, Puppeteer, browsers
Authentication Basic Auth (HTTP header) Basic Auth (SOCKS5 handshake)

When to Use HTTP CONNECT

Use HTTP CONNECT when:

  • Working with standard HTTP libraries (requests, axios)
  • Using command-line tools (curl, wget)
  • Connecting from web browsers
  • You need maximum compatibility

When to Use SOCKS5

Use SOCKS5 when:

  • Running headless browsers (Selenium, Puppeteer)
  • Need system-wide proxy support
  • Working with low-level socket libraries
  • Prefer protocol-agnostic tunneling

Python SDK

Easiest way to integrate IPLoop with Python applications.

Installation

bash
pip install iploop

Basic Usage

python
from iploop import IPLoopClient client = IPLoopClient( api_key="iploop_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", ) # Simple request response = client.get("https://httpbin.org/ip") print(response.json())

Geographic Targeting

python
# Request from US response = client.get("https://httpbin.org/ip", country="US") # Request from Miami, USA response = client.get("https://httpbin.org/ip", country="US", city="miami") # Request from specific ASN response = client.get("https://httpbin.org/ip", asn="12345")

Sticky Sessions

python
# Create a sticky session that lasts 30 minutes response = client.get( "https://httpbin.org/ip", session="my-session", session_type="sticky", lifetime=30 ) # Subsequent requests with same session ID use same IP response = client.get("https://httpbin.org/ip", session="my-session")

Web Scraping

python
# High-level scraping API data = client.scrape("https://example.com/products") print(data)

Advanced Configuration

python
client = IPLoopClient( api_key="iploop_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", timeout=30, retries=3, backoff_factor=0.5, verify_ssl=True )

Node.js SDK

Integrate IPLoop with Node.js and JavaScript applications.

Installation

bash
npm install iploop

Basic Usage

javascript
const { IPLoopClient } = require('iploop'); const client = new IPLoopClient({ apiKey: 'iploop_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }); // Simple request const response = await client.get('https://httpbin.org/ip'); console.log(response.data);

Geographic Targeting

javascript
// US proxy const response = await client.get('https://httpbin.org/ip', { country: 'US' }); // Miami, USA const miamiResponse = await client.get('https://httpbin.org/ip', { country: 'US', city: 'miami' });

Sticky Sessions

javascript
// Create sticky session const response = await client.get('https://httpbin.org/ip', { session: 'my-session', sessionType: 'sticky', lifetime: 30 }); // Same session for all requests const response2 = await client.get('https://httpbin.org/ip', { session: 'my-session' });

Web Scraping

javascript
// High-level scraping const data = await client.scrape('https://example.com/products'); console.log(data);

Android SDK

Native integration for Android applications.

Setup

Add the IPLoop SDK to your Android project dependencies.

Basic Integration

java
import com.iploop.sdk.IPLoopSDK; // Initialize with your partner key (monetization SDK — separate from proxy API key) IPLoopSDK.init(context, "your_partner_key"); // Start the proxy service IPLoopSDK.start(); // Check if running boolean isRunning = IPLoopSDK.isRunning(); // Stop when done IPLoopSDK.stop();

Configuration

The SDK automatically configures system-level proxying for all traffic when initialized. Configure targeting through your IPLoop dashboard or API.

Battery & Data Usage

The Android SDK is optimized for minimal battery drain and data usage, suitable for long-running proxy sessions.

API Overview

RESTful API for programmatic access to IPLoop services.

Base URL

text
https://api.iploop.io/v1

Authentication

All API requests require a Bearer token in the Authorization header:

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.iploop.io/v1/user/dashboard

Response Format

All responses are JSON:

json
{ "success": true, "data": { "key": "value" }, "message": "Operation successful" }

Rate Limits

Plan Requests/minute Requests/hour
Starter 60 3,000
Growth 300 15,000
Business 1,000 50,000
Enterprise Custom Custom

API Endpoints

Available endpoints for authentication, user management, and system status.

Authentication Endpoints

POST /api/auth/signup

Create a new account.

bash
curl -X POST https://api.iploop.io/v1/api/auth/signup \ -H "Content-Type: application/json" \ -d '{ "email": "[email protected]", "password": "secure_password", "company": "My Company" }'

POST /api/auth/login

Authenticate and get an API token.

bash
curl -X POST https://api.iploop.io/v1/api/auth/login \ -H "Content-Type: application/json" \ -d '{ "email": "[email protected]", "password": "secure_password" }'

GET /api/auth/me

Get current user information.

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.iploop.io/v1/api/auth/me

User & Dashboard Endpoints

GET /api/user/dashboard

Get user dashboard data (bandwidth usage, request counts, etc.).

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.iploop.io/v1/api/user/dashboard

GET /api/proxy/locations

Get available proxy locations and coverage.

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.iploop.io/v1/api/proxy/locations

GET /api/support/status

Check platform status and health.

bash
curl https://api.iploop.io/v1/api/support/status

Error Codes

Standard HTTP error codes and their meanings when using IPLoop.

Code Meaning Action
401 Invalid credentials Check your API Key
403 Quota exceeded Upgrade your plan or wait for reset
407 Proxy auth required Include credentials in proxy request
429 Rate limited Reduce request frequency or upgrade
502 No available proxy Retry — temporary unavailability
503 Service unavailable Check platform status page
Critical Issues

If you see 502/503 errors persistently, check the platform status page immediately. These indicate infrastructure issues.

Web Scraping

Built-in support for scraping 33+ popular websites with intelligent fallback systems.

Supported Scraping Targets

Category Supported Sites Data Returned
E-commerce Amazon, eBay, Alibaba, Shopify Products, prices, reviews
Social Media Instagram, Twitter, TikTok, LinkedIn Posts, followers, engagement
Search Engines Google, Bing, DuckDuckGo Search results, rankings
Job Boards LinkedIn Jobs, Indeed, Glassdoor Job listings, salaries, reviews
Real Estate Zillow, Airbnb, Booking.com Listings, prices, availability
News BBC, CNN, Reuters, TechCrunch Articles, headlines, metadata

Smart Scrape Fallback System

The Smart Scrape feature uses a three-tier fallback system:

  1. Tier 1 - Residential IP: Attempts with residential IP to mimic real user
  2. Tier 2 - Rotating Session: Falls back to rotating IPs if detected
  3. Tier 3 - Browser Simulation: Uses full browser rendering as last resort

Using Smart Scrape

python
from iploop import IPLoopClient client = IPLoopClient( api_key="iploop_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", ) # Smart scraping with automatic fallback data = client.scrape("https://www.amazon.com/s?k=laptop") print(data) # Returns structured product data

Enterprise Features

Advanced capabilities for large-scale operations.

Browser Profiles

Rotate through different browser profiles to increase success rates:

bash
# Chrome on Windows curl -x http://[email protected]:8880 \ https://example.com # Safari on macOS curl -x http://[email protected]:8880 \ https://example.com # Mobile (iOS) curl -x http://[email protected]:8880 \ https://example.com

Performance Controls

Fine-tune performance based on your requirements:

Parameter Values Purpose
speed slow, normal, fast Control request speed
timeout 10-300 seconds Request timeout
retries 0-5 Auto retry failed requests
concurrent 1-100 Concurrent connections

Debug Mode

Enable detailed logging for troubleshooting:

python
client = IPLoopClient( api_key="iploop_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", debug=True, # Enable detailed logging log_file="/var/log/iploop.log" )

All Parameters Reference

Parameter Format Default Description
country country-XX random Target country
city city-NAME random Target city
session session-ID rotating Session identifier
sesstype sticky/rotating rotating Session type
lifetime lifetime-MIN 30 Session lifetime in minutes
asn asn-NUMBER any Target ASN
profile profile-NAME random Browser profile
speed slow/normal/fast normal Request speed

Troubleshooting

Common issues and their solutions.

Connection Refused

Issue

Connection refused error when connecting to proxy.iploop.io:8880

Solutions:

  • Check that you're using the correct endpoint: proxy.iploop.io:8880 (HTTP) or proxy.iploop.io:1080 (SOCKS5)
  • Verify your network allows outbound connections on port 8880
  • Disable corporate firewalls or VPNs that might block the connection
  • Check your ISP doesn't block port 8880

407 Proxy Authentication Required

Issue

407 Proxy Authentication Required

Solutions:

  • Ensure credentials are in the correct format: YOUR_API_KEY
  • Verify your API Key is correct
  • Check that credentials are URL-encoded if they contain special characters
  • Make sure you're not using an expired API key

Slow Response Times

Issue

Requests are taking longer than expected

Solutions:

  • Check your network latency with: ping proxy.iploop.io
  • Try a location closer to your target: specify a nearby country/city
  • Use rotating sessions instead of sticky for faster general responses
  • Check IPLoop platform status for any service issues
  • Increase timeout values if you need more time for target response

Getting Blocked or Detected

Issue

Target site is blocking requests or returning CAPTCHA

Solutions:

  • Slow down your request rate using the speed-slow parameter
  • Add realistic User-Agent headers and referers
  • Use sticky sessions to maintain consistent IP for related requests
  • Rotate through different browser profiles: profile-chrome, profile-safari
  • Try the Smart Scrape feature for automated anti-detection
  • Respect robots.txt and website terms of service
  • Use appropriate User-Agent and request headers
Contact Support

If issues persist, contact our support team at [email protected] with details about the problem.