Bot signals — Internet scanner

Shadowserver scanner IP addresses

Shadowserver is an internet scanning project in the IPAPI.GR scanner catalogue. Addresses it publishes or verifiably identifies as its own set risk.is_scanner.

risk.is_scanner rDNS Reviewed

Check an IP

Is this IP really Shadowserver?

Checks the address against what Shadowserver publishes, the same evidence behind risk.is_scanner.

01 — Verification

How IPAPI.GR verifies Shadowserver.

Only from what Shadowserver publishes about itself. No third-party blocklists, no behavioural guesses.

Shadowserver

risk.is_scanner
Method
rDNS Forward-confirmed reverse DNS
Reverse DNS
PTR hostname must end in .shadowserver.io. The hostname must then resolve forward to the same address.
Refresh
Checked in the background; a new address can become flagged shortly after its first lookup.

02 — In the response

What a match looks like.

A lookup of a Shadowserver address sets risk.is_scanner. The flags come with geolocation and network data in the same response, for Pro API keys.

The response says which kind of bot an address belongs to, not which operator. Pair it with the user agent: a request that claims to be Shadowserver but doesn't match is unverified.

GET /api/lookup/{ip}?key=PRO_KEY
{
  // … location and network fields …
  "risk": {
    "is_ai": false,
    "is_crawler": false,
    "is_scanner": true
  }
}

03 — Questions

About Shadowserver.

How do I verify Shadowserver with reverse DNS?

Look up the PTR record for the IP address. The hostname must end in .shadowserver.io, and a forward lookup of that hostname must return the same IP address. A PTR record alone can be set by anyone who controls the address, so the forward confirmation is the part that matters.

Which risk flag does Shadowserver set?

A matching address sets risk.is_scanner in the lookup response. The risk flags are returned for Pro API keys.

Verify Shadowserver on every request.

Pro: 40,000,000 requests a day with is_ai, is_crawler and is_scanner in every lookup.