Hosting & Datacenter IP Detection API

Tell real users from servers: check any IPv4 or IPv6 address for hosting/datacenter networks with is_hosting, and get its country and ASN in the same call. Useful against bots, scrapers and automated signups.

Sign up Read the docs

Risk flags, including is_hosting, are on paid plans · from $9/month (coming soon) · no overage charges

Example

Look up one IP and keep the hosting flag and the network with jq:

GET /v0/ip/{ip}
$ curl -s https://api.networkdatalabs.com/v0/ip/8.8.8.8 \
    -H "Authorization: Bearer YOUR_API_KEY" \
    | jq '{country_code: .location.country_code, asn: .network.asn, as_org: .network.as_org, is_hosting: .traits.is_hosting}'

{
  "country_code": "US",
  "asn": 15169,
  "as_org": "Google LLC",
  "is_hosting": true
}

8.8.8.8 is a public DNS resolver in Mountain View on a hosting network, so is_hosting is true. A home broadband or mobile carrier IP returns false. Have a list? POST /v0/bulk (paid plans) takes up to 100 IPs per request with the same schema; each IP counts toward the monthly quota.

Response fields

  • traits.is_hosting — the IP is on a cloud, hosting or CDN network where real users rarely browse from. Paid plans.
  • Other risk flags — is_vpn (known VPN networks), is_tor (Tor exits) and is_relay (privacy relay), also on paid plans.
  • Network — asn, as_org, isp, organization and network (CIDR), on every plan.
  • Location — country_code, region, city and accuracy_radius_km, on every plan.

It’s the same GET /v0/ip/{ip} lookup as our IP geolocation API. On the Free plan the response omits the risk flags and keeps geo and ASN.

What teams use it for

  • Bot & scraper friction — add a challenge or rate limit when traffic comes from datacenter IPs
  • Signup & trial abuse — score signups from hosting networks higher, together with is_vpn and is_tor
  • Clean analytics — separate server traffic from human visitors in your reports
  • Allow server-to-server traffic — expect is_hosting: true on API clients and webhooks and don’t block them by mistake

What it doesn’t do

  • Not every hosting IP is a bot. Corporate networks, VPN exits and legitimate integrations run on hosting networks too. Use the flag as one signal, not a hard block.
  • It doesn’t identify the software. It tells you the network type, not whether the client is a browser, a script or a crawler.

FAQ

Is is_hosting available on the Free plan?

No. Free includes 1,000 requests per UTC calendar month with geolocation + ASN, 1 request/second, for personal and non-commercial use. Risk flags (is_hosting, is_vpn, is_tor, is_relay) are on paid plans: $9, $29 and $79/month, or $90, $290 and $790/year, coming soon, with no overage charges.

Does it support IPv6?

Yes. GET /v0/ip/{ip} and POST /v0/bulk accept both IPv4 and IPv6 addresses (for example 2001:4860:4860::8888). Malformed IPs return 400 INVALID_IP.

Start building

Sign up for a free account, or read the quickstart and full reference in the docs.

Sign up Read the docs

Related APIs