A residential proxy routes your request through an IP address that belongs to a consumer internet connection rather than a datacenter. To the target, the request looks like it came from somebody's home.
It exists because a growing number of sources treat datacenter IP ranges differently — and sometimes refuse them outright.
Why the source can tell
Datacenter IP ranges are published and easy to identify. A platform that wants to limit automated reading can block or throttle those ranges without touching ordinary visitors. Measured on one network's search API: a request from a datacenter IP returns 403 on the very first call, not after a burst — so it is a policy, not a rate limit.
What it costs, in three currencies
| Cost | Detail |
|---|---|
| Money | Usually priced per gigabyte, and far above bandwidth cost |
| Latency | An extra hop, often a slow one |
| Determinism | The same call succeeds sometimes and fails sometimes |
The third is the one that gets underestimated. Through a residential proxy, that same blocked API succeeded 8 times out of 15, at random. For a one-off lookup that is usable. For an hourly archive it is not: a window that captured half its data is not comparable to a window that captured all of it, and a time series built from a mix of both is worse than no series at all.
That measurement is why we switched that source off for collection rather than run it through a proxy — while the same network's profile routes, which do not need one, stay live.
The part vendors leave out
A partial success rate does not show up as an error rate. It shows up as thinner data, which looks like a quiet week. Unless you measure completeness per window rather than per request, an intermittent source and a healthy one are indistinguishable from the outside — the general shape of a silent failure.
When it is the right tool
For on-demand reads where a retry is cheap and a miss is visible, a residential proxy is a reasonable answer to a datacenter block. For anything that has to be complete and comparable over time, it is the wrong foundation, and no amount of retrying fixes the comparability problem.