Consumer connections resold as proxy exits.
Home addresses enrolled into proxy networks, with how often we saw them, how persistent they are, and how many networks resell the same address.
Schema
See documentation →Published as CSVGZ. Every column is described in the docs.
| ip | provider | first_seen | last_seen | hits | hits_days_pct | providers_num |
|---|---|---|---|---|---|---|
| 138.97.217.21 | netnut | 2026-06-23 | 2026-09-06 | 8 | 2 | 7 |
| 113.188.74.104 | dataimpulse | 2026-08-09 | 2026-08-13 | 17 | 6 | 2 |
| 45.173.157.0 | netnut | 2026-06-15 | 2026-07-31 | 2 | 1 | 2 |
| 191.127.13.37 | netnut | 2026-06-22 | 2026-06-23 | 5 | 1 | 3 |
| 2804:2980:f651:2b00:8a7f:a380:8e43:db1a | anyip | 2026-08-14 | 2026-08-14 | 1 | 1 | 1 |
The operators behind the ids.
provider is an id that holds from build to build. Residential Proxy Provider resolves each one to the provider's name and homepage, whether we track its addresses and whether it has gone defunct. Join it on provider.
| id | name | url | active | note | defunct |
|---|---|---|---|---|---|
| brightdata | Bright Data | https://brightdata.com/ | t | f | |
| oxylabs | Oxylabs | https://oxylabs.io/ | t | f | |
| soax | SOAX | https://soax.com/ | f | f |
Downloading it from code.
Database API reference →One call gets you the current Residential Proxy IP build. Every official client wraps it three ways: straight to disk, a time-limited link you hand to your own runner, or bytes in memory. A file written to disk lands only once the whole transfer has arrived, and checksums() returns the published digests to verify it against.
download()downloadUrl()downloadBytes()metadata()checksums()What it's used for
Three decisions Residential Proxy IP is bought for, and what each needs from the data rather than from a score.
The hardest traffic to catch
Residential proxies look exactly like customers because they are customers, rented out. Persistence data is what separates them.
Score by persistence, not presence
An address seen once in ninety days is a different signal from one seen daily across seven networks. Both are in here with the counts to tell them apart.
Know who is reselling
providers_num tells you how many networks resell the same address, a strong indicator of a committed node.
Official SDKs
All SDKs on GitHub →Twelve official clients, each wrapping the database endpoints as well as the lookup: list what you're licensed for, poll a build, follow the download redirect. Install commands are in the docs.
Common questions
What does a row tell us?
One address seen exiting a residential proxy pool in the window, the provider that sold it, the first and last day it appeared, how many times, the share of days it appeared on, and how many providers resold it.
Which window should we use?
90 days is the widest net. The 1, 7, 14, 30 and 60-day windows are the same observations over shorter spans, each its own dataset, for when an address seen two months ago is too old to act on.
How do we read hits and hits_days_pct?
hits counts the observations in the window and hits_days_pct is the share of its days the address appeared on. An address seen most days is a standing exit; one seen once may have joined a pool for an afternoon.
Should we block every address in it?
Not on presence alone: these are real home connections, often still used by the people they belong to. An address seen on most days by several providers is a committed exit; one seen once is weaker evidence, and a challenge fits it better than a block.
How often is it rebuilt?
Daily, over a rolling 90-day window that first_seen and last_seen fall inside. The metadata call says when the current build landed and how many rows it holds, so you fetch only a new one.
Which formats does it ship in?
Gzipped CSV. The 1, 7 and 14-day windows ship an MMDB as well.
How do we get it?
Under a database license, agreed per dataset and bundled with Enterprise plans. Request access names Residential Proxy IP to us, and once it's licensed it downloads from the console, the database API or any official client, or each new build is announced to your webhook, or written to your AWS S3 or S3-compatible storage, Google Cloud Storage, Azure Blob Storage, or an SFTP or FTPS server. Download sample asks us for a slice of the current build.
Is it the same data the API answers from?
Yes. A lookup's is_resproxy comes from these builds, so the file and the API agree on an address.
What if a row looks wrong?
Send it to us and we'll tell you what we hold on it, when we last saw it and how. Corrections land in the next build.
Start without signing up.
Paste it into a terminal. No account needed. 1,000 lookups a day per address, answering ip and is_vpn.
{"ip": "146.70.116.130","is_vpn": true}