Skip to content

IP Intelligence API

Query any IP address for geolocation, network identity, and threat intelligence.

Base URL: https://api.wayscloud.services

Authentication

All endpoints require a WAYSCloud API key in the X-API-Key header.

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

Activate your key via the WAYSCloud dashboard under IP Intelligence.

Rate limits

Rate limits are enforced per API key based on your tier:

TierRequests/dayBurst (per minute)
Free1,00020
Professional10,000200
EnterpriseUnlimited1,000

When quota is exceeded, the API returns 429 Too Many Requests with details about your limit and reset time.

Endpoints

MethodPathDescription
GET/v1/ip/{ip}IP summary
GET/v1/ip/{ip}/geoGeolocation
GET/v1/ip/{ip}/threatThreat assessment
GET/v1/ip/threats/liveLive threat feed
GET/v1/ip/countries/{code}Country intelligence
GET/v1/ip/asn/{asn}ASN intelligence

GET /v1/ip/

IP summary — returns geolocation, network, threat assessment, and detection flags in a single call.

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

Response:

json
{
  "ip": "8.8.8.8",
  "ip_version": 4,
  "hostname": "dns.google",
  "geo": {
    "country": "US",
    "country_name": "United States",
    "city": "Mountain View",
    "region": "California",
    "latitude": 37.386,
    "longitude": -122.084,
    "timezone": "America/Los_Angeles"
  },
  "network": {
    "asn": 15169,
    "isp": "Google LLC",
    "org": "Google LLC",
    "connection_type": "datacenter"
  },
  "threat": {
    "score": 0,
    "level": "clean",
    "is_clean": true
  },
  "flags": {
    "vpn": false,
    "proxy": false,
    "tor": false,
    "datacenter": true,
    "botnet": false
  }
}

Response fields

FieldTypeDescription
ipstringQueried IP address
ip_versioninteger4 or 6
hostnamestring | nullReverse DNS hostname. Null if no rDNS exists.
geo.countrystring | nullISO 3166-1 alpha-2 country code
geo.country_namestring | nullHuman-readable country name
geo.citystring | nullCity name
geo.regionstring | nullRegion or state
geo.latitudenumber | nullLatitude coordinate
geo.longitudenumber | nullLongitude coordinate
geo.timezonestring | nullIANA timezone identifier
network.asninteger | nullAutonomous System Number
network.ispstring | nullInternet Service Provider
network.orgstring | nullOrganization name
network.connection_typestringEnum: residential, mobile, business, datacenter, hosting, education, government, unknown
threat.scorenumberThreat score, 0–100
threat.levelstringEnum: clean, low, medium, high, critical
threat.is_cleanbooleantrue if no threat reports exist
flags.vpnbooleanVPN endpoint detected
flags.proxybooleanProxy detected
flags.torbooleanTor exit node detected
flags.datacenterbooleanHosted in datacenter/cloud
flags.botnetbooleanBotnet association detected

GET /v1/ip/{ip}/geo

Geolocation — returns location, network identity, and reverse DNS.

bash
curl -H "X-API-Key: YOUR_KEY" \
  https://api.wayscloud.services/v1/ip/8.8.8.8/geo

Response:

json
{
  "ip": "8.8.8.8",
  "ip_version": 4,
  "hostname": "dns.google",
  "country": "US",
  "country_name": "United States",
  "city": "Mountain View",
  "region": "California",
  "latitude": 37.386,
  "longitude": -122.084,
  "timezone": "America/Los_Angeles",
  "asn": 15169,
  "isp": "Google LLC",
  "org": "Google LLC",
  "connection_type": "datacenter"
}

GET /v1/ip/{ip}/threat

Threat assessment — returns threat score, categories, and detection flags.

bash
curl -H "X-API-Key: YOUR_KEY" \
  https://api.wayscloud.services/v1/ip/1.2.3.4/threat

Response:

json
{
  "ip": "1.2.3.4",
  "score": 85,
  "level": "critical",
  "is_clean": false,
  "total_reports": 42,
  "categories": ["brute-force", "scanner"],
  "first_seen": "2025-11-03T14:22:00Z",
  "last_seen": "2026-03-29T08:15:00Z",
  "flags": {
    "vpn": false,
    "proxy": true,
    "tor": false,
    "datacenter": true
  }
}
FieldTypeDescription
scorenumberThreat score, 0–100
levelstringclean, low, medium, high, critical
is_cleanbooleanNo threat reports exist
total_reportsintegerNumber of threat reports
categoriesstring[] | nullAttack categories (null if clean)
first_seenstring | nullISO 8601 timestamp of first report
last_seenstring | nullISO 8601 timestamp of most recent report
flagsobjectDetection flags (vpn, proxy, tor, datacenter)

GET /v1/ip/threats/live

Live threat feed — returns the most recently reported threat IPs.

bash
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.wayscloud.services/v1/ip/threats/live?limit=10"

Parameters:

ParameterTypeDefaultDescription
limitinteger25Number of entries (1–100)

Response:

json
{
  "updated_at": "2026-03-29T16:00:00Z",
  "count": 10,
  "threats": [
    {
      "ip": "1.2.3.4",
      "score": 92,
      "level": "critical",
      "categories": ["brute-force"],
      "country": "CN",
      "last_seen": "2026-03-29T15:58:00Z"
    }
  ]
}

GET /v1/ip/countries/

Country intelligence — threat summary for a country.

bash
curl -H "X-API-Key: YOUR_KEY" \
  https://api.wayscloud.services/v1/ip/countries/CN

Path parameter code is an ISO 3166-1 alpha-2 country code (e.g. US, CN, RU, NO).


GET /v1/ip/asn/

ASN intelligence — threat summary for an Autonomous System.

bash
curl -H "X-API-Key: YOUR_KEY" \
  https://api.wayscloud.services/v1/ip/asn/15169

Path parameter asn is a numeric ASN (1–4294967295).


Error responses

All errors follow a consistent format:

json
{
  "detail": {
    "error": "error_code",
    "message": "Human-readable description"
  }
}
StatusError codeDescription
400invalid_ipInvalid IP address format
400invalid_country_codeInvalid ISO country code
400invalid_asnASN out of valid range
401Missing or invalid API key
403no_subscriptionNo active IP Intelligence subscription
429quota_exceededDaily request limit reached
404not_foundNo data for requested resource

Enums

threat.level

ValueScore range
clean0
low1–29
medium30–59
high60–84
critical85–100

connection_type

residential | mobile | business | datacenter | hosting | education | government | unknown


WAYSCloud AS