Examples
A simple example is rotating requests through a residential pool when a target starts blocking datacenter IPs after a few pages.
import requests
proxies = {
"http": "http://user:pass@residential-proxy.example:8000",
"https": "http://user:pass@residential-proxy.example:8000",
}
resp = requests.get(
"https://httpbin.org/ip",
proxies=proxies,
timeout=30,
)
print(resp.status_code)
print(resp.text)
If you do not want to manage proxy vendors directly, you can push the problem into a scraping API that handles proxy selection and retries for you.
curl -X POST "https://www.scraperouter.com/api/v1/scrape/" \
-H "Authorization: Api-Key $api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/products",
"render": false
}'
Practical tips
- Use residential proxies when the target is actually filtering hard on IP reputation. If a site works fine from datacenter IPs, paying residential rates is just waste.
- Expect tradeoffs: higher cost, slower response times, more variability between exits.
- Rotate with some control. Randomly changing IP on every request can look worse than keeping a short-lived session.
- Pair proxy choice with the rest of the request shape: headers, cookies, TLS fingerprint, rate limits. A residential IP does not fix obviously bot-like traffic.
- Watch for provider quality issues: overloaded peers, geo mismatch, sticky sessions that are not really sticky, and surprise bandwidth bills.
- Be careful with login and account flows: changing IP too often can trigger more checks, not fewer.
- If you are doing this at scale, measure block rate, success rate, cost per successful page, and median latency. Those numbers matter more than provider marketing pages.
Use cases
- Scraping retail, travel, ticketing, and classifieds sites that block datacenter ranges quickly.
- Collecting search result pages or localized content where IP geography affects what you see.
- Running session-based flows that need a more believable consumer IP footprint.
- Reducing maintenance when your current setup keeps turning into a proxy rotation project instead of a data collection system.