Secure every Website in Seconds – for free.

Detect threats, prevent fraud, and protect your infrastructure with the world's most extensive IP reputation database.

$ npm i @requestguard/js
No subscription
Free forever
100% real security
SDK Methods

One SDK, Complete Protection

Simple, powerful methods that give you deep insights about your users. Detect fraud, prevent abuse, and secure your application in minutes.

IP Geolocation

.geolocation()

Get precise user location data including country, city, coordinates and timezone.

IP Geolocation determines the physical location of a user based on their IP address. This is essential for content localization, compliance with regional regulations (like GDPR), fraud prevention by detecting location mismatches, and personalizing user experiences. Our database covers 99.9% of all allocated IP addresses worldwide with city-level accuracy.

Response
{
  "ip": "203.0.113.42",
  "country": "Germany",
  "country_code": "DE",
  "region": "Bavaria",
  "city": "Munich",
  "postal": "80331",
  "latitude": 48.1351,
  "longitude": 11.582,
  "timezone": "Europe/Berlin",
  "isp": "Deutsche Telekom AG"
}

VPN Detection

.isVPN()

Detect if users are hiding behind VPN services to bypass restrictions.

VPN detection identifies when users connect through Virtual Private Networks. While VPNs have legitimate privacy uses, they're also commonly used to bypass geo-restrictions, commit fraud, or hide malicious activity. Our detection covers 3,000+ VPN providers including commercial services, corporate VPNs, and self-hosted solutions. Detection is based on IP range analysis, behavioral patterns, and real-time threat intelligence.

Response
{
  "is_vpn": true,
  "vpn_provider": "NordVPN",
  "vpn_type": "commercial",
  "confidence": 0.97,
  "risk_score": 4,
  "recommendation": "challenge"
}

Proxy Detection

.isProxy()

Identify proxy connections used to mask real IP addresses.

Proxy detection uncovers when traffic is routed through intermediary servers. Proxies can be HTTP, SOCKS, or web-based, and are often used to anonymize traffic or bypass restrictions. Unlike VPNs, proxies typically don't encrypt traffic but can still hide the user's true IP. We detect residential proxies, datacenter proxies, and rotating proxy networks used by bots and scrapers.

Response
{
  "is_proxy": false,
  "proxy_type": null,
  "is_residential_proxy": false,
  "confidence": 0.99,
  "last_seen_as_proxy": null
}

Tor Network Detection

.isTor()

Detect Tor network usage for enhanced anonymity detection.

Tor (The Onion Router) provides strong anonymity by routing traffic through multiple encrypted relays. While it protects privacy for journalists and activists, it's also used for fraud and abuse. We maintain a real-time database of all Tor exit nodes, relay nodes, and bridge nodes. Detection is instant and updated every 5 minutes to catch new nodes.

Response
{
  "is_tor": true,
  "is_exit_node": true,
  "is_relay_node": false,
  "node_name": "TorExitDE01",
  "first_seen": "2024-06-15",
  "confidence": 1
}

Email Risk Analysis

.emailRisk()

Analyze email addresses for disposable domains, deliverability and fraud risk.

Email risk analysis evaluates the trustworthiness of an email address. We check against 150,000+ disposable email domains, verify MX records for deliverability, analyze domain age and reputation, and detect patterns common in fraudulent signups. This helps prevent fake accounts, reduces bounce rates, and identifies high-risk users before they can cause damage.

Response
{
  "email": "user@tempmail.com",
  "is_disposable": true,
  "is_free_provider": true,
  "domain_age_days": 45,
  "mx_valid": true,
  "risk_score": 4,
  "risk_reasons": [
    "disposable_domain",
    "new_domain"
  ],
  "deliverable": true,
  "recommendation": "block"
}

User Risk Score

.userRisk()

Get a comprehensive risk score (1-5) based on multiple fraud signals.

The user risk score combines multiple signals into a single, actionable metric from 1 (safe) to 5 (high risk). It analyzes IP reputation, device fingerprinting, behavioral patterns, velocity checks, and known fraud indicators. Use this score to automatically block high-risk users, trigger additional verification for medium risk, or fast-track trusted users.

Response
{
  "risk_score": 2,
  "risk_level": "low",
  "factors": {
    "ip_reputation": "good",
    "vpn_detected": false,
    "proxy_detected": false,
    "datacenter_ip": false,
    "tor_detected": false,
    "suspicious_behavior": false
  },
  "recommendation": "allow",
  "session_id": "sess_abc123"
}

Device Fingerprinting

.userId()

Generate unique device fingerprints to prevent multiple signups and fraud.

Device fingerprinting creates a unique identifier for each device based on browser characteristics, hardware info, and behavioral patterns. This persistent ID survives cookie clearing, incognito mode, and IP changes. Use it to detect multi-accounting, prevent promo abuse, identify returning fraudsters, and link suspicious accounts.

Response
{
  "user_id": "usr_8f14e45f-ceea-46ed-8e3b-3a4b5c6d7e8f",
  "fingerprint": "fp_a1b2c3d4e5f6",
  "confidence": 0.95,
  "first_seen": "2025-01-20T10:30:00Z",
  "visit_count": 3,
  "linked_accounts": 1,
  "is_returning": true
}

WHOIS Lookup

.whois()

Look up ownership and registration details for IPs and domains.

WHOIS lookup retrieves registration and ownership information for IP addresses and domain names. For IPs, get the owning organization, ASN, network range, and abuse contacts. For domains, find registrar info, creation date, and nameservers. Essential for investigating suspicious activity, verifying business legitimacy, and security research.

Response
{
  "query": "8.8.8.8",
  "type": "ip",
  "organization": "Google LLC",
  "asn": "AS15169",
  "asn_name": "GOOGLE",
  "network": "8.8.8.0/24",
  "country": "US",
  "registrar": "ARIN",
  "created": "1992-12-01",
  "abuse_contact": "network-abuse@google.com"
}
Ultrathink
Image

563,637,737

Requests blocked so far

Counting all Botscores grater than 5