Accurate VPN detection,
with evidence.
Flags an IP as VPN, residential proxy, hosting server, Tor node, CDN or relay, and names the operator behind it.
Every flag in one request.
One lookup on a paid plan returns all nine flags, with an SDK for each language below.
is_vpnis_hostingis_toris_cdnis_relayis_resproxyis_dcproxyis_mobproxyis_pubproxyimport osfrom vpndetection import VPNDetectionclient = VPNDetection(os.environ["VPNDETECTION_API_KEY"])result = client.lookup("146.70.116.130")print(result.is_vpn) # Trueprint(result.vpn.provider) # 'mullvad'print(result.hosting.provider) # 'm247'
Full databases, updated daily.
Download every database as CSVGZ or MMDB and run lookups on your own servers.
| start_ip | end_ip | provider | confidence | last_seen |
|---|---|---|---|---|
| 216.131.87.112 | 216.131.87.127 | ipvanish | high | 2026-09-08 |
| 208.85.18.71 | 208.85.18.71 | tunnelbear | high | 2026-09-07 |
| 187.13.129.184 | 187.13.129.187 | nordvpn | high | 2026-09-07 |
| 172.235.240.0 | 172.235.240.11 | metrovpn_net | medium | 2026-09-04 |
| 95.170.13.20 | 95.170.13.23 | pingvpn_pingsecure | low | 2026-06-16 |
The evidence behind each flag.
On a paid plan, each flag comes with the operator behind it, the last day we saw the address in that role, and our confidence in it or, for a proxy, how often it turned up.
providerconfidencelast_seenfirst_seenhitshits_days_pctproviders_num146.70.116.130
An address seen on 63% of the last 90 days is a standing pool member; one seen on a single day may be a one-off.
Providers we track
Each provider below is named in the data by its own ID.
Free, unlimited lookups. Upgrade for all our data.
Compare plans
No key or card needed
- Unlimited lookups
- Try every field, 100 a day
- VPN, Tor and relay flagsPlus location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support
Billed monthly
- 250,000 lookups a month
- Then $0.09 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support48-hour response time
Billed monthly
- 2,000,000 lookups a month
- Then $0.07 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support24-hour response time
Billed monthly
- 5,000,000 lookups a month
- Then $0.05 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support12-hour response time
Annual, priced to your volume
- Custom lookup volume
- Negotiated overage rate
- All our data fieldsAnonymity, location and ASN
- Database downloadsEvery dataset, licensed per dataset
- Priority supportNamed contact and agreed response times
No key or card needed
- Unlimited lookups
- Try every field, 100 a day
- VPN, Tor and relay flagsPlus location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support
$190.00 billed yearly · save $38.00
- 250,000 lookups a month
- Then $0.09 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support48-hour response time
$990.00 billed yearly · save $198.00
- 2,000,000 lookups a month
- Then $0.07 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support24-hour response time
$1,990.00 billed yearly · save $398.00
- 5,000,000 lookups a month
- Then $0.05 per 1,000 lookups
- All our data fieldsAnonymity, location and ASN
- Database downloadsTor IP, Relay IP, Relay Provider
- Support12-hour response time
Annual, priced to your volume
- Custom lookup volume
- Negotiated overage rate
- All our data fieldsAnonymity, location and ASN
- Database downloadsEvery dataset, licensed per dataset
- Priority supportNamed contact and agreed response times
Common questions
How do you know an address is a VPN?
From four kinds of evidence: scan, where a VPN server of the provider's answered at the address; scrape, where the provider published the address; registry, where registration and naming records attribute it; and infer, where it was extrapolated from confirmed neighbors in the same block. The VPN IP Extended database names the one behind each range in its method column.
Will it flag my legitimate users?
Not for using iCloud Private Relay, Google's VPN or a company web gateway: those come back as is_relay rather than is_vpn, and CDN edges as is_cdn. On every paid plan, the evidence behind a match says how strong it is: its confidence, the last day we saw the address and, for a proxy, how often it turned up. A rule can block the strong cases and challenge the rest.
Does it detect residential proxies?
Yes, on every paid plan: is_resproxy flags an address we've seen in a residential proxy pool, beside the datacenter, mobile and public proxy flags, with the evidence: the provider, the first and last day the address was seen, how often, and how many providers resold it. The flag stays once the address leaves the pool, so last_seen is what says whether the sighting is recent enough to act on.
How fresh is the data?
Every dataset rebuilds daily, and the API answers from those builds. A proxy's evidence is counted over a rolling 90-day window, and an address that leaves it keeps its flag with the evidence of its last sighting, so last_seen is what tells an exit that went quiet months ago from one seen yesterday.
Can I download the data instead of calling the API?
Yes. Tor IP, Relay IP and Relay Provider are open: free to every account, under CC BY-SA 4.0. Every other dataset is licensed per dataset, bundled with Enterprise plans. Each one downloads as CSVGZ, and MMDB where it's built in one, through the database API or any official client, so lookups run on your own servers. Any of them can also come to you: each new build 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. On every licensed database's page, Download sample gets you a file cut from the current build, or for Residential Proxy IP and Mobile Proxy IP asks us for a slice.
Do you keep the addresses we look up?
Each request is recorded with its time, the address looked up and the key that sent it, and kept for 13 months for billing questions, support and abuse investigation. We don't build profiles from lookups or add them to our datasets.
What if an address is classified wrong?
Tell us, with Report a problem on its page here or by email, and say what you saw. We check it against what we observed, and a correction lands in the next daily build.
Unlimited lookups, no sign-up.
Paste it into a terminal. Any address answers its VPN, Tor and relay flags, where it is and which network announces it, with no daily or monthly cap.
{"ip": "146.70.116.130","is_vpn": true,"is_relay": false,"is_tor": false,"location": {"country": "AT", ...},"asn": { "asn": 9009, ... }}