Skip to main content
Threat Detection

VPN & Proxy Detection Database

Identify users hiding behind VPNs, proxies, and anonymizers with a downloadable database covering 1,000+ providers. Query locally on your own infrastructure - no third-party API calls, no user data shared externally. Works alongside your existing WAF and firewall rules as an additional signal, not a replacement for them.

1,000+
VPN Providers
95%+
Commercial VPN coverage
<1ms
Local lookup time

How VPN & proxy detection works

Our VPN and proxy database is built by continuously monitoring the IP infrastructure of commercial VPN providers, open proxies, residential proxy networks, and data center ranges. The result is a comprehensive IP-to-threat mapping you can query in microseconds.

1

IP Range Collection

We aggregate IP ranges from over 1,000+ VPN services, proxy networks, and data centers. Our collectors identify both well-known commercial providers (NordVPN, ExpressVPN, Surfshark) and lesser-known regional services.

2

Classification & Verification

Each IP range is classified by type: commercial VPN, SOCKS/HTTP proxy, residential proxy, or data center. We verify entries against multiple sources and remove stale IPs that are no longer active.

3

Residential Proxy Detection

Residential proxies are the hardest to detect because they use real ISP IPs. We identify residential proxy networks by monitoring known providers like Bright Data, Oxylabs, and SOAX, as well as peer-to-peer proxy networks.

4

Monthly Database Updates

VPN providers frequently rotate their IP ranges. Our database is updated monthly to ensure you have accurate, current data. Download the latest version and replace your local copy with a simple script.

Detection coverage

Commercial VPNs 95%
Data Center Proxies 92%
Residential Proxies 75%
Open/SOCKS Proxies 87%
Anonymous Proxies 83%

What's included in the database

The VPN & Proxy database is delivered as CSV and JSON files. Each record contains the following fields so you can make informed decisions about incoming traffic.

Field Type Description
ip_start string Start of the IP range (IPv4 or IPv6)
ip_end string End of the IP range
provider string Name of the VPN or proxy provider (e.g., NordVPN, ExpressVPN)
type enum Classification: vpn, proxy, residential_proxy, datacenter_proxy, open_proxy
country string Country code where the exit node is located (ISO 3166-1 alpha-2)
is_residential boolean Whether the IP belongs to a residential proxy network
risk_level enum Risk classification: low, medium, high, critical
last_seen date Date the IP was last confirmed active as a VPN/proxy endpoint
CSV & JSON
Data Formats
Monthly
Update Frequency
IPv4 & IPv6
IP Version Support

Use cases for VPN & proxy detection

From stopping payment fraud to enforcing content licensing, VPN and proxy detection is critical for any application that needs to know who its users really are.

Payment Fraud Prevention

Block fraudulent transactions from users hiding behind VPNs to bypass geo-restrictions or disguise their true location. Match billing addresses against actual IP geolocation.

Multi-Account Prevention

Detect users creating multiple accounts through different VPN servers to abuse sign-up bonuses, promotions, or referral programs.

Content Licensing Enforcement

Ensure that geo-restricted content is only accessible from licensed regions. Identify users bypassing geographic restrictions with VPN connections.

Account Takeover Detection

Flag login attempts from VPN IPs when the account has no history of VPN usage. Combine with geolocation data to detect impossible travel patterns.

Ad Fraud Mitigation

Prevent click fraud and impression fraud by detecting traffic originating from VPN and proxy infrastructure used by click farms and bots.

Scraping & Competitive Intelligence Defense

Identify scrapers hiding behind rotating residential proxies and VPNs to steal your pricing data, product listings, or proprietary content.

Query locally in your own code

Load the VPN/proxy database into MySQL, PostgreSQL, Redis, or even a flat file. Query it directly from your application with zero network overhead.

PHP - MySQL Lookup
prepare(
        "SELECT provider, type, country, risk_level, is_residential
         FROM vpn_ips
         WHERE ip_start <= INET6_ATON(:ip)
           AND ip_end   >= INET6_ATON(:ip)
         LIMIT 1"
    );
    $stmt->execute(['ip' => $ip]);
    return $stmt->fetch(PDO::FETCH_ASSOC) ?: null;
}

// Usage in your registration or checkout flow
$ip = $_SERVER['REMOTE_ADDR'];
$result = check_vpn($pdo, $ip);

if ($result) {
    // IP matched - decide what to do
    if ($result['risk_level'] === 'critical') {
        http_response_code(403);
        exit('Access denied.');
    }
    if ($result['is_residential']) {
        // Residential proxy - higher risk, may want extra verification
        require_captcha();
    }
    // Log for review
    log_threat('vpn_detected', $ip, $result);
}
Python - SQLite Lookup
import sqlite3
import ipaddress

# Load the AntiProxies CSV into SQLite on first run
# Then query locally - no network calls needed

def check_vpn(db_path: str, ip: str) -> dict | None:
    """Check if an IP belongs to a known VPN or proxy."""
    conn = sqlite3.connect(db_path)
    conn.row_factory = sqlite3.Row
    ip_int = int(ipaddress.ip_address(ip))

    row = conn.execute(
        """SELECT provider, type, country, risk_level, is_residential
           FROM vpn_ips
           WHERE ip_start <= ? AND ip_end >= ?
           LIMIT 1""",
        (ip_int, ip_int)
    ).fetchone()

    conn.close()
    return dict(row) if row else None

# Example: check during user registration
result = check_vpn("antiproxies_vpn.db", request.remote_addr)
if result and result["risk_level"] in ("high", "critical"):
    abort(403, "Suspicious connection detected.")

Want to see what's in the database?

Download once, query as many times as you need. €99/year for all 22 databases, unlimited servers, and a full year of monthly updates. No usage limits, no per-query fees, no data leaving your servers.

30-day money-back guarantee
All databases included
Monthly updates