Skip to content
VPNDetection

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.

Get a free API keyRead the docsUnlimited lookups, no key needed · Sign up to try every field, no card
GETapi.vpndetection.io/

Every flag in one request.

One lookup on a paid plan returns all nine flags, with an SDK for each language below.

is_vpn
Commercial VPN infrastructure, with the operator named. Over 2,200 providers tracked.
is_hosting
Hosting or cloud provider, attributed to the company that runs the range.
is_tor
Tor node, from a list we rebuild every day.
is_cdn
CDN edge, so you stop scoring your own delivery network as a threat.
is_relay
Privacy relay or enterprise web gateway egress, such as iCloud Private Relay or Zscaler.
is_resproxy
Seen in a residential proxy pool, with hits and days-seen across a rolling 90-day window.
is_dcproxy
An address a datacenter proxy service sells or runs on, with the same persistence detail.
is_mobproxy
Seen in a mobile proxy pool, on a mobile carrier's addresses.
is_pubproxy
A public proxy anyone can use, at the address it listens on or the one its traffic exits from.
import os
from vpndetection import VPNDetection
client = VPNDetection(os.environ["VPNDETECTION_API_KEY"])
result = client.lookup("146.70.116.130")
print(result.is_vpn) # True
print(result.vpn.provider) # 'mullvad'
print(result.hosting.provider) # 'm247'
lookup.pypip install vpndetection
Also available for Web, .NET, Ruby, Rust, Swift, Erlang, Perl and Zig. See all on GitHub →

Full databases, updated daily.

Download every database as CSVGZ or MMDB and run lookups on your own servers.

Full catalog →
start_ipend_ipproviderconfidencelast_seen
216.131.87.112216.131.87.127ipvanishhigh2026-09-08
208.85.18.71208.85.18.71tunnelbearhigh2026-09-07
187.13.129.184187.13.129.187nordvpnhigh2026-09-07
172.235.240.0172.235.240.11metrovpn_netmedium2026-09-04
95.170.13.2095.170.13.23pingvpn_pingsecurelow2026-06-16
ID
vpn_ip_v1
Entries
14,497,907
Refresh
Daily
CSVGZ
100 MB
MMDB
84.94 MB

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.

provider
Which operator the address belongs to, as a stable ID you can key rules off.
confidence
How strongly the observation is supported: high, medium or low.
last_seen
The most recent day the address was observed in this role.
first_seen
How far back the sighting goes inside the dataset's time window.
hits
How many times the address turned up in the pool during the window.
hits_days_pct
The share of days it appeared on.
providers_num
How many distinct providers resold the same address.

146.70.116.130

Two signals, both corroborated
Commercial VPNhigh confidence
provider
mullvad
last_seen
2026-09-02
Hosting and cloudhigh confidence
provider
m247
last_seen
2026-09-02
Pool persistence63% of days · 42 hits · 2 networks

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.

135M
anonymous IPs
503M
hosting IPs
6.5K
providers
Daily
update frequency
NordVPNProton VPNExpressVPNSurfsharkMullvadCyberGhostPrivate Internet AccessWindscribeIPVanishTunnelBearhide.mePureVPNHotspot ShieldVyprVPNMozilla VPNNorton VPNPsiphonVPN Gate
Bright DataOxylabsDecodoIPRoyalSOAXWebshareRayobyteDataImpulseProxy-CheapPacketStreamInfaticaProxyEmpireMassiveShifterZyte

Free, unlimited lookups. Upgrade for all our data.

Compare plans

Choose yearly and get 2 months free
Full pricing →
Unlimited
Free

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
Starter
$19.00/mo

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
ScaleMost popular
$99.00/mo

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
Max
$199.00/mo

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
Enterprise
Custom

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
On this page

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.

00 · Unlimited

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.

curl "https://api.vpndetection.io/146.70.116.130"
{
"ip": "146.70.116.130",
"is_vpn": true,
"is_relay": false,
"is_tor": false,
"location": {
"country": "AT", ...
},
"asn": { "asn": 9009, ... }
}
01 · Sign up

Try every field, free.

Your first 100 lookups each day answer every field, the evidence behind each flag included.
The rest answer as Unlimited, with no cap.
No card and no sales call: the key is issued on signup.
A paid plan answers every field on every lookup.