Skip to content

IP Intelligence ​

Look up any IP address for geolocation, threat score, network identity, and detection flags. One API call, under 100ms response time, free tier included.

Best for: login protection, fraud detection, access control, and any application that needs to know where an IP is and whether it is trustworthy.

Try it now | IP Intelligence API reference


What this is ​

WAYSCloud IP Intelligence is a real-time IP lookup API. Send a GET /v1/ip/{ip} request and receive geolocation (country, city, coordinates), network data (ASN, ISP, organization), a threat score (0-100), and detection flags (VPN, proxy, Tor, datacenter, botnet). The service queries multiple data sources in parallel and returns a consolidated response in under 100ms.

Data is sourced from 297M+ threat reports across 21.9M+ unique IP addresses, 5.3M+ malware URLs, and 3.5M+ blacklisted domains, covering 240 countries.

A free tier is auto-provisioned on your first API call. No activation step required. A public lookup portal is available at ip.wayscloud.services for one-off queries.


When to use it ​

Use this when:

  • You need to score login attempts by IP risk before granting access
  • You want to detect VPN, proxy, or Tor usage at signup or checkout
  • You need IP geolocation for content localization or compliance
  • You want to enrich logs or analytics with IP metadata

Consider something else when:

  • You need DNS-level threat filtering for your domains — use WAYSCloud Shield
  • You need to verify a user identity (not just their IP) — use Verify

What you get ​

  • Full IP lookup in a single call: geo, network, threat, and flags
  • Threat score from 0 (clean) to 100 (critical) with level classification
  • Detection flags: VPN, proxy, Tor, datacenter, botnet
  • Geolocation: country, city, region, coordinates, timezone
  • Network identity: ASN, ISP, organization, connection type
  • Specialized endpoints: geo-only, threat-only, live threat feed, country intel, ASN intel
  • Free tier auto-provisioned, paid plans for higher rate limits
  • Public portal at ip.wayscloud.services

Pricing ​

All prices exclude VAT.

PlanEUR/monthNOK/monthSEK/monthDKK/month
IP Intelligence CustomFreeFreeFreeFree
IP Intelligence Enterprise259299928191919
IP Intelligence FreeFreeFreeFreeFree
IP Intelligence Professional39499469319

Free tier auto-provisioned (100 lookups/day). Paid plans via Shield.

View all plans in dashboard


How it works ​

  1. First API call auto-provisions the free tier. No activation needed.
  2. Send a lookup with GET /v1/ip/{ip} and your API key.
  3. Multiple databases are queried in parallel: geolocation, threat intelligence, network registry, detection engines.
  4. A threat score (0-100) is computed from combined signals: known malicious activity, proxy/VPN indicators, network reputation.
  5. Response returned in under 100ms with geo, network, threat, and flags.

What you see in the dashboard ​

  • Lookup interface: enter any IP and see the full report inline
  • Threat level badge: clean / low / medium / high / critical with numeric score
  • Geolocation: country flag, city, region, coordinates plotted on a map
  • Network panel: ASN number, ISP, organization, connection type
  • Detection flags: VPN, proxy, Tor, datacenter, botnet indicators with confidence
  • Live threat feed: most recently reported malicious IPs across the platform
  • Usage stats: lookups today, this month, plan limit

Fastest way to get started ​

Dashboard ​

  1. Open my.wayscloud.services and go to Networking then IP Intelligence
  2. The service is auto-activated. Copy your API key from the dashboard.
  3. Or use the public portal at ip.wayscloud.services for one-off lookups.

API ​

bash
curl https://api.wayscloud.services/v1/ip/185.47.100.12 \
  -H "X-API-Key: wayscloud_ipintel_abc12_YOUR_SECRET"

Example request and response ​

Request: Full lookup of a suspicious IP

bash
curl https://api.wayscloud.services/v1/ip/203.0.113.50 \
  -H "X-API-Key: wayscloud_ipintel_abc12_YOUR_SECRET"

Response:

json
{
  "ip": "203.0.113.50",
  "ip_version": 4,
  "hostname": null,
  "geo": {
    "country": "RU",
    "country_name": "Russia",
    "city": "Moscow",
    "region": "Moscow",
    "latitude": 55.7558,
    "longitude": 37.6173,
    "timezone": "Europe/Moscow"
  },
  "network": {
    "asn": 48666,
    "isp": "Marosnet Telecommunications",
    "org": "Marosnet",
    "connection_type": "datacenter"
  },
  "threat": {
    "score": 72,
    "level": "high",
    "is_clean": false
  },
  "flags": {
    "vpn": true,
    "proxy": false,
    "tor": false,
    "datacenter": true,
    "botnet": false
  }
}

Use in a login flow (Python):

python
import requests

def assess_login_risk(ip_address):
    resp = requests.get(
        f"https://api.wayscloud.services/v1/ip/{ip_address}",
        headers={"X-API-Key": "wayscloud_ipintel_abc12_YOUR_SECRET"}
    )
    data = resp.json()

    if data["threat"]["score"] > 70:
        return "block"
    if data["flags"]["tor"] or data["flags"]["vpn"]:
        return "challenge"
    return "allow"

Common use cases ​

  • Login protection — block or challenge logins from high-risk IPs
  • Fraud detection — flag orders from VPN, proxy, or datacenter IPs at checkout
  • Geo-restriction — enforce country-based access policies
  • Log enrichment — add geo and threat data to access logs for analytics
  • Compliance — verify user location matches claimed jurisdiction

Integration examples ​

Bash — quick IP lookup ​

bash
#!/bin/bash
ip="${1:-$(curl -4 -s ifconfig.me)}"
curl -s "https://api.wayscloud.services/v1/ip/$ip" \
  -H "X-API-Key: wayscloud_ipintel_abc12_YOUR_SECRET" | jq .

Python — threat intelligence client ​

python
import requests

class IPIntelClient:
    def __init__(self, api_key):
        self.base = "https://api.wayscloud.services/v1/ip"
        self.headers = {"X-API-Key": api_key}

    def lookup(self, ip):
        return requests.get(f"{self.base}/{ip}", headers=self.headers).json()

    def threat(self, ip):
        return requests.get(f"{self.base}/{ip}/threat", headers=self.headers).json()

    def live_feed(self, limit=25):
        return requests.get(f"{self.base}/threats/live",
            headers=self.headers, params={"limit": limit}).json()

client = IPIntelClient("wayscloud_ipintel_abc12_YOUR_SECRET")
result = client.lookup("8.8.8.8")
print(f"Threat: {result['threat']['level']} (score {result['threat']['score']})")

Node.js — Express threat check middleware ​

javascript
const axios = require('axios');

const API_KEY = process.env.WAYSCLOUD_API_KEY;

async function checkThreat(req, res, next) {
    const ip = req.headers['x-forwarded-for']?.split(',')[0] || req.ip;
    try {
        const { data } = await axios.get(
            `https://api.wayscloud.services/v1/ip/${ip}`,
            { headers: { 'X-API-Key': API_KEY } }
        );
        if (data.threat.score > 50) {
            return res.status(403).json({ error: "High risk IP blocked" });
        }
        req.threatIntel = data;
        next();
    } catch {
        next(); // Allow on lookup failure
    }
}

app.use(checkThreat);

fail2ban — automatic abuse reporting ​

ini
# /etc/fail2ban/action.d/wayscloud-report.conf
[Definition]
actionban = curl -s -X POST https://api.wayscloud.services/v1/ip/report \
  -H "X-API-Key: <apikey>" \
  -H "Content-Type: application/json" \
  -d '{"ip": "<ip>", "category": "ssh_bruteforce", "severity": "medium", "confidence": 0.8}'

See Report IP Abuse for the full reporter setup guide.


Open in dashboard