Privacy relays and enterprise web gateways.
Apple Private Relay, Google's VPN and company web gateways such as Zscaler's: ordinary people with a privacy setting on or at work, not abuse infrastructure.
Schema
See documentation →Published as CSVGZ and MMDB. Every column is described in the docs.
| start_ip | end_ip | provider | confidence | last_seen |
|---|---|---|---|---|
| 2a02:26f7:b550:4000:: | 2a02:26f7:b550:4000:ffff:ffff:ffff:ffff | apple_private_relay | high | 2026-09-06 |
| 2a02:26f7:e7c2:4000:: | 2a02:26f7:e7c2:4000:ffff:ffff:ffff:ffff | apple_private_relay | high | 2026-09-06 |
| 2606:40:21dc:4000:: | 2606:40:21dc:43ff:ffff:ffff:ffff:ffff | google_vpn | high | 2026-09-06 |
| 2606:40:219a:2000:: | 2606:40:219a:23ff:ffff:ffff:ffff:ffff | google_vpn | high | 2026-09-06 |
| 2a02:26f7:ef00:59d9:: | 2a02:26f7:ef00:59da:ffff:ffff:ffff:ffff | apple_private_relay | high | 2026-09-06 |
The operators behind the ids.
provider is an id that holds from build to build. Relay Provider resolves each one to the service's name and homepage, and whether we track it. Join it on provider.
| id | name | url | active | note |
|---|---|---|---|---|
| apple_private_relay | Apple iCloud Private Relay | https://www.apple.com/icloud/ | t | |
| google_vpn | Google One VPN | https://one.google.com/about/vpn/ | t | |
| cisco_secure_web_gateway | Cisco Secure Web Gateway | https://www.cisco.com/site/us/en/products/security/secure-web-gateway/ | t | Enterprise managed egress (Umbrella). |
Downloading it from code.
Database API reference →One call gets you the current Relay 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 Relay IP is bought for, and what each needs from the data rather than from a score.
Do not punish a checkbox
Relay users are usually your best customers with a privacy setting on, or at work behind their company's gateway. Separating them from VPN traffic prevents an expensive class of false positive.
Keep geo decisions honest
Relay egress rarely matches the customer's real region, so treat location from these addresses as unknown rather than wrong.
Named per provider
Provider tells you whether it is Apple, Google, Zscaler or another, so you can allow one without allowing all.
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
How is a relay different from a VPN?
A relay is built into an operating system, a browser or a company's web gateway, so its users are mostly ordinary people with a privacy feature switched on, or at work behind their company's gateway. It's kept apart from VPN IP so a VPN rule doesn't catch them.
Which services are in it?
Apple iCloud Private Relay, Google's VPNs, and web gateways such as Cisco's and Zscaler's among them. The Relay Provider catalog below names every provider id.
Where do the ranges come from?
From the lists the operators publish of their own egress, never inferred. A range stays for 90 days after its operator last listed it, and last_seen says when that was.
How often is it rebuilt?
Daily. 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 and MMDB, both cut from the same build. The MMDB opens in any MaxMind DB reader, so lookups run in memory on your own servers.
Is it really free?
Yes. Create an account and download it from the console, or with your API key from the database API or any official client. Each new build can also be 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. It's licensed under CC BY-SA 4.0: credit VPNDetection and share what you build from it under the same license.
Is it the same data the API answers from?
Yes. A lookup's is_relay 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}