Proxies & Scraping

How to Use Residential Proxies: A Beginner's Setup Guide

You bought proxy traffic, received a hostname and password, and now every example assumes you already know where those values belong.

Some links on this site are affiliate links. If you buy through them, we earn a commission at no extra cost to you. We only recommend tools we would deploy ourselves.

$ ls ./sections
  1. Residential proxy setup that actually connects
  2. How to use residential proxies in Python
  3. Residential proxy errors beginners actually hit

How to use residential proxies becomes simple once you stop treating the dashboard as documentation. A gateway is one hostname and port; your username and password tell the provider which pool and country to use.

Residential proxy setup that actually connects

Start with IPRoyal’s pay-as-you-go pool for a small crawl, or compare the best residential proxy providers before funding a larger job. Copy the gateway host, port, username, and password exactly. Do not paste the dashboard URL into your script.

python -m pip install requests

How to use residential proxies in Python

import requests

host = "YOUR_GATEWAY_HOST"
port = "YOUR_PORT"
user = "YOUR_USERNAME"
password = "YOUR_PASSWORD"
proxy = f"http://{user}:{password}@{host}:{port}"

r = requests.get(
    "https://httpbin.org/ip",
    proxies={"http": proxy, "https": proxy},
    timeout=30,
)
r.raise_for_status()
print(r.json())

Run it twice. A rotating pool should return a different exit address when the provider rotates per request. For long sessions, use the provider’s sticky-session syntax so login cookies and the IP remain together.

Residential proxy errors beginners actually hit

407 Proxy Authentication Required means the credentials or account allowlist is wrong. A timeout usually means the gateway port is blocked locally or the selected country has no available exit. A target-side 403 means the IP connected but the website rejected the browser fingerprint; move that job to ScrapingBee or ZenRows instead of retrying the same blocked request.

Test against httpbin.org before touching a real target. If the exit IP appears there, the proxy is working and every later failure belongs to the target, not the gateway.

stack used in this guide
TIER 1 · Residential proxies

IPRoyal

Cheap pay-as-you-go residential IPs.

best for: Low-volume jobs, no commitment Try IPRoyal
TIER 1 · Residential proxies

Bright Data

PICK

The largest residential proxy network. Enterprise-grade, priced like it.

best for: Enterprise-scale scraping, hard targets Try Bright Data
TIER 1 · Residential proxies

Oxylabs

PICK

Premium residential & datacenter proxies, loved by Python/Node teams.

best for: Python & Node scrapers that need to just work Try Oxylabs

→ the full stack

Found the fix? The tool that ends the problem is one click away.

The Stack