Cloud and hosting ranges, attributed to the provider.
Server address space across the major clouds and hosting companies — the traffic that should never look like a residential customer.
Schema at a glance.
See documentation →The database's schema and metadata are documented carefully. Multiple formats are available, including CSVGZ and MMDB.
| start_ip | end_ip | provider | confidence | last_seen |
|---|---|---|---|---|
| 69.195.69.0 | 69.195.70.255 | unifiedlayer | high | 2026-09-06 |
| 188.221.236.0 | 188.221.236.255 | m247 | high | 2026-09-06 |
| 121.196.177.0 | 121.196.177.255 | alibaba | high | 2026-09-06 |
| 45.38.3.0 | 45.38.3.255 | 3hcloud | high | 2026-09-06 |
| 2603:c011:8000:: | 2603:c011:8fff:ffff:ffff:ffff:ffff:ffff | oracle | high | 2026-09-06 |
Downloading it from code.
Database API reference →One call gets you the current Hosting IP build. Every official client wraps it three ways — straight to disk, a signed link you hand to your own runner, or bytes in memory — and each verifies the published checksum before it hands the build back.
download(path)url(expires)bytes()build()formatsince(build)from vpndetection import Clientclient = Client(os.environ["VPNDETECTION_API_KEY"])db = client.database("hosting_ip_v1", format="csvgz")db.download("hosting_ip_v1.csv.gz") # to diskurl = db.url(expires=3600) # signed linkblob = db.bytes() # in memorydb.build().published # last build
Getting your hands on it.
Where Hosting IP earns its place in a risk stack — and what each of these decisions needs from the data rather than from a score.
Separate bots from browsers
A signup from a datacenter range is a different risk from the same signup on a home connection, before you look at anything else.
Whitelist your own infrastructure
Provider attribution lets you allow your own cloud without allowing every cloud.
Catch scrapers early
Most scraping arrives from hosting before it graduates to residential proxies.
An official client for every major language.
All SDKs on GitHub →Twelve official clients for the languages you ship in, each wrapping the database endpoints as well as the lookup — list what you are licensed for, poll a build, follow the download redirect. Install commands are in the docs.
No loose ends.
How often does this dataset rebuild?
Every dataset publishes its own cadence and its last build date. The proxy datasets additionally carry a rolling 90-day observation window, so first seen and last seen are relative to that window.
Start without signing up.
Paste it into a terminal — no account needed. 1k daily allowance per user, answering ip and is_vpn.
{"ip": "45.83.91.1","is_vpn": true}