IP Intelligence API
DataMAINTAINED1 token / call

IP Intelligence API

Country, ASN, datacenter, cloud and Tor detection with an explainable risk score for any IP

Fraud and abuse signals for any IPv4 or IPv6 address, from a self-hosted dataset of 1.37 million ranges: geolocated country, the AS number and organisation announcing the prefix, whether the address sits in published cloud or CDN address space (AWS, Azure, Google Cloud, Oracle, DigitalOcean, Cloudflare, Fastly, GitHub β€” 88,000 ranges across 8 operators), and whether it is a live Tor exit node. Two countries are returned, not one: where the block GEOLOCATES and where it is REGISTERED with its regional registry. Those disagree on about 16% of routed ranges, and the mismatch is itself a weak signal, so both are exposed along with a flag for whether they agree. Every answer carries a transparent risk score whose every point is attributed to a named, explained signal β€” there is no black box, because a fraud team has to justify the customers it blocks. Look up one address, up to 50 in a batch, or the caller's own address via /v1/ip/me; search 86,000 autonomous systems by name; list the prefixes an AS announces. Non-routable space (loopback, RFC1918, link-local, documentation) is labelled rather than returned empty, and IPv4-mapped IPv6 literals are unwrapped to the address they carry. Cloud ranges and the Tor exit list are refreshed daily. Built entirely on free, redistributable sources β€” RouteViews BGP via iptoasn (public domain), DB-IP Lite (CC-BY), and each operator's own published ranges β€” with no third-party calls at request time.

Every call needs an X-Api-Key header. A free key includes 500 tokens a month, no card required. 1 token per call, so the free plan covers about 500 calls a month.

No credit card requiredAccess to 125+ APIsCancel anytime
response.json
{
  "ok": true,
  "ip": "3.5.140.10",
  "family": "ipv4",
  "mapped_from": null,
  "special_use": null,
  "country": "KR",
  "registry_country": "US",
  "country_matches_registry": false,
  "asn": {
    "number": 16509,
    "organization": "AMAZON-02",
    "registry_country": "US",
    "range": {
      "start": "3.5.124.0",
      "end": "3.5.169.255"
    }
  },
  "hosting": {
    "provider": "AWS",
    "kind": "cloud",
    "service": "EC2",
    "region": "ap-northeast-2",
    "prefix": "3.5.140.0/22"
  },
  "is_datacenter": true,
  "is_cdn": false,
  "is_tor_exit": false,
  "is_routed": true,
  "risk": {
    "score": 50,
    "level": "medium",
    "reasons": [
      {
        "signal": "datacenter",
        "weight": 40,
        "detail": "Inside AWS's published range 3.5.140.0/22 β€” traffic is from a server, not a consumer connection."
      },
      {
        "signal": "country_mismatch",
        "weight": 10,
        "detail": "Geolocates to KR but the block is registered in US."
      }
    ]
  }
}
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 125+ APIs
Your DataAndAPIs subscription unlocks every API on the platform β€” anime, finance, sports, and more.

Use cases for IP Intelligence API

  • Score signups and logins for fraud: flag datacenter, cloud and Tor traffic and country mismatches before granting access.

  • Filter bots and scrapers from analytics and rate limits by recognising requests that come from hosting ranges rather than consumer connections.

  • Apply geo-compliance rules using both the geolocated country and the registration country, with the mismatch exposed as its own signal.

  • Enrich server logs or support tickets with the network operator behind an address and whether it belongs to AWS, Azure, Cloudflare or another provider.

IP Intelligence API endpoints

Every endpoint with its parameters and a real example response.

GETData Sources

https://api-ip-intelligence.dataandapis.com/v1/sources

This endpoint takes no parameters.

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 11,
  "attribution": [
    "IP geolocation by DB-IP (https://db-ip.com)"
  ],
  "sources": [
    {
      "slug": "dbip-country-lite",
      "name": "DB-IP IP to Country Lite 2026-08",
      "publisher": "DB-IP",
      "licence": "Creative Commons Attribution 4.0",
      "attribution": "IP geolocation by DB-IP (https://db-ip.com)",
      "source_url": "https://db-ip.com/db/download/ip-to-country-lite",
      "file_url": "https://download.db-ip.com/free/dbip-country-lite-2026-08.csv.gz",
      "cadence": "monthly",
      "record_count": 706484,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:53:53"
    },
    {
      "slug": "iptoasn",
      "name": "IP to ASN database",
      "publisher": "iptoasn.com (Frank Denis)",
      "licence": "Public Domain (PDDL v1.0)",
      "attribution": null,
      "source_url": "https://iptoasn.com/",
      "file_url": "https://iptoasn.com/data/ip2asn-v4.tsv.gz",
…
Show full response
{
  "ok": true,
  "count": 11,
  "attribution": [
    "IP geolocation by DB-IP (https://db-ip.com)"
  ],
  "sources": [
    {
      "slug": "dbip-country-lite",
      "name": "DB-IP IP to Country Lite 2026-08",
      "publisher": "DB-IP",
      "licence": "Creative Commons Attribution 4.0",
      "attribution": "IP geolocation by DB-IP (https://db-ip.com)",
      "source_url": "https://db-ip.com/db/download/ip-to-country-lite",
      "file_url": "https://download.db-ip.com/free/dbip-country-lite-2026-08.csv.gz",
      "cadence": "monthly",
      "record_count": 706484,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:53:53"
    },
    {
      "slug": "iptoasn",
      "name": "IP to ASN database",
      "publisher": "iptoasn.com (Frank Denis)",
      "licence": "Public Domain (PDDL v1.0)",
      "attribution": null,
      "source_url": "https://iptoasn.com/",
      "file_url": "https://iptoasn.com/data/ip2asn-v4.tsv.gz",
      "cadence": "hourly",
      "record_count": 578919,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:53:53"
    },
    {
      "slug": "ranges-aws",
      "name": "AWS published IP ranges",
      "publisher": "AWS",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://ip-ranges.amazonaws.com/ip-ranges.json",
      "file_url": "https://ip-ranges.amazonaws.com/ip-ranges.json",
      "cadence": "daily-weekly",
      "record_count": 16684,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:42"
    },
    {
      "slug": "ranges-azure",
      "name": "Azure published IP ranges",
      "publisher": "Azure",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://download.microsoft.com/download/7/1/d/71d86715-5596-4529-9b13-da13a5de5b63/ServiceTags_Public_20260824.json",
      "file_url": "https://download.microsoft.com/download/7/1/d/71d86715-5596-4529-9b13-da13a5de5b63/ServiceTags_Public_20260824.json",
      "cadence": "daily-weekly",
      "record_count": 60758,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:48"
    },
    {
      "slug": "ranges-cloudflare",
      "name": "Cloudflare published IP ranges",
      "publisher": "Cloudflare",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://www.cloudflare.com/ips-v4",
      "file_url": "https://www.cloudflare.com/ips-v4",
      "cadence": "daily-weekly",
      "record_count": 22,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:44"
    },
    {
      "slug": "ranges-digitalocean",
      "name": "DigitalOcean published IP ranges",
      "publisher": "DigitalOcean",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://digitalocean.com/geo/google.csv",
      "file_url": "https://digitalocean.com/geo/google.csv",
      "cadence": "daily-weekly",
      "record_count": 1228,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:44"
    },
    {
      "slug": "ranges-fastly",
      "name": "Fastly published IP ranges",
      "publisher": "Fastly",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://api.fastly.com/public-ip-list",
      "file_url": "https://api.fastly.com/public-ip-list",
      "cadence": "daily-weekly",
      "record_count": 21,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:45"
    },
    {
      "slug": "ranges-gcp",
      "name": "GCP published IP ranges",
      "publisher": "GCP",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://www.gstatic.com/ipranges/cloud.json",
      "file_url": "https://www.gstatic.com/ipranges/cloud.json",
      "cadence": "daily-weekly",
      "record_count": 1092,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:42"
    },
    {
      "slug": "ranges-github",
      "name": "GitHub published IP ranges",
      "publisher": "GitHub",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://api.github.com/meta",
      "file_url": "https://api.github.com/meta",
      "cadence": "daily-weekly",
      "record_count": 7623,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:45"
    },
    {
      "slug": "ranges-oracle",
      "name": "Oracle published IP ranges",
      "publisher": "Oracle",
      "licence": "Published by the operator for public use",
      "attribution": null,
      "source_url": "https://docs.oracle.com/iaas/tools/public_ip_ranges.json",
      "file_url": "https://docs.oracle.com/iaas/tools/public_ip_ranges.json",
      "cadence": "daily-weekly",
      "record_count": 1107,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:43"
    },
    {
      "slug": "tor-exits",
      "name": "Tor bulk exit list",
      "publisher": "The Tor Project",
      "licence": "Public",
      "attribution": null,
      "source_url": "https://check.torproject.org/",
      "file_url": "https://check.torproject.org/torbulkexitlist",
      "cadence": "~30 minutes",
      "record_count": 1415,
      "retrieved_at": "2026-08-28",
      "updated_at": "2026-08-28 02:59:49"
    }
  ]
}

GETGet Autonomous System

https://api-ip-intelligence.dataandapis.com/v1/asns/{asn}

Path parameters

ParameterExample
asn15169Required

Query parameters

ParameterExample
limit50Optional

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/asns/15169?limit=50" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "asn": 13335,
  "organization": "CLOUDFLARENET",
  "registry_country": "US",
  "range_count": 1530,
  "ranges": [
    {
      "family": "ipv4",
      "start": "1.0.0.0",
      "end": "1.0.0.255"
    },
    {
      "family": "ipv4",
      "start": "1.1.1.0",
      "end": "1.1.1.255"
    },
    {
      "family": "ipv4",
      "start": "5.10.214.0",
      "end": "5.10.215.255"
    }
  ]
}

GETHosting Providers

https://api-ip-intelligence.dataandapis.com/v1/providers

This endpoint takes no parameters.

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/providers" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 8,
  "providers": [
    {
      "provider": "Azure",
      "kind": "cloud",
      "ipv4_ranges": 44008,
      "ipv6_ranges": 16750,
      "total": 60758
    },
    {
      "provider": "AWS",
      "kind": "cloud",
      "ipv4_ranges": 10518,
      "ipv6_ranges": 6166,
      "total": 16684
    },
    {
      "provider": "GitHub",
      "kind": "cloud",
      "ipv4_ranges": 5981,
      "ipv6_ranges": 1642,
      "total": 7623
    },
    {
      "provider": "DigitalOcean",
      "kind": "cloud",
…
Show full response
{
  "ok": true,
  "count": 8,
  "providers": [
    {
      "provider": "Azure",
      "kind": "cloud",
      "ipv4_ranges": 44008,
      "ipv6_ranges": 16750,
      "total": 60758
    },
    {
      "provider": "AWS",
      "kind": "cloud",
      "ipv4_ranges": 10518,
      "ipv6_ranges": 6166,
      "total": 16684
    },
    {
      "provider": "GitHub",
      "kind": "cloud",
      "ipv4_ranges": 5981,
      "ipv6_ranges": 1642,
      "total": 7623
    },
    {
      "provider": "DigitalOcean",
      "kind": "cloud",
      "ipv4_ranges": 1080,
      "ipv6_ranges": 148,
      "total": 1228
    },
    {
      "provider": "Oracle",
      "kind": "cloud",
      "ipv4_ranges": 1107,
      "ipv6_ranges": 0,
      "total": 1107
    },
    {
      "provider": "GCP",
      "kind": "cloud",
      "ipv4_ranges": 997,
      "ipv6_ranges": 95,
      "total": 1092
    },
    {
      "provider": "Cloudflare",
      "kind": "cdn",
      "ipv4_ranges": 15,
      "ipv6_ranges": 7,
      "total": 22
    },
    {
      "provider": "Fastly",
      "kind": "cdn",
      "ipv4_ranges": 19,
      "ipv6_ranges": 2,
      "total": 21
    }
  ]
}

GETLookup Caller IP

https://api-ip-intelligence.dataandapis.com/v1/ip/me

This endpoint takes no parameters.

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/ip/me" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "ip": "8.8.8.8",
  "family": "ipv4",
  "mapped_from": null,
  "special_use": null,
  "country": "US",
  "registry_country": "US",
  "country_matches_registry": true,
  "asn": {
    "number": 15169,
    "organization": "GOOGLE",
    "registry_country": "US",
    "range": {
      "start": "8.8.8.0",
      "end": "8.8.8.255"
    }
  },
  "hosting": null,
  "is_datacenter": false,
  "is_cdn": false,
  "is_tor_exit": false,
  "is_routed": true,
  "risk": {
    "score": 0,
    "level": "none",
    "reasons": []
  }
…
Show full response
{
  "ok": true,
  "ip": "8.8.8.8",
  "family": "ipv4",
  "mapped_from": null,
  "special_use": null,
  "country": "US",
  "registry_country": "US",
  "country_matches_registry": true,
  "asn": {
    "number": 15169,
    "organization": "GOOGLE",
    "registry_country": "US",
    "range": {
      "start": "8.8.8.0",
      "end": "8.8.8.255"
    }
  },
  "hosting": null,
  "is_datacenter": false,
  "is_cdn": false,
  "is_tor_exit": false,
  "is_routed": true,
  "risk": {
    "score": 0,
    "level": "none",
    "reasons": []
  }
}

GETLookup IP

https://api-ip-intelligence.dataandapis.com/v1/ip/{address}

Path parameters

ParameterExample
address3.5.140.2Required

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/ip/3.5.140.2" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "ip": "8.8.8.8",
  "family": "ipv4",
  "mapped_from": null,
  "special_use": null,
  "country": "US",
  "registry_country": "US",
  "country_matches_registry": true,
  "asn": {
    "number": 15169,
    "organization": "GOOGLE",
    "registry_country": "US",
    "range": {
      "start": "8.8.8.0",
      "end": "8.8.8.255"
    }
  },
  "hosting": null,
  "is_datacenter": false,
  "is_cdn": false,
  "is_tor_exit": false,
  "is_routed": true,
  "risk": {
    "score": 0,
    "level": "none",
    "reasons": []
  }
…
Show full response
{
  "ok": true,
  "ip": "8.8.8.8",
  "family": "ipv4",
  "mapped_from": null,
  "special_use": null,
  "country": "US",
  "registry_country": "US",
  "country_matches_registry": true,
  "asn": {
    "number": 15169,
    "organization": "GOOGLE",
    "registry_country": "US",
    "range": {
      "start": "8.8.8.0",
      "end": "8.8.8.255"
    }
  },
  "hosting": null,
  "is_datacenter": false,
  "is_cdn": false,
  "is_tor_exit": false,
  "is_routed": true,
  "risk": {
    "score": 0,
    "level": "none",
    "reasons": []
  }
}

POSTLookup IP Batch

https://api-ip-intelligence.dataandapis.com/v1/ip

Request body

{
  "addresses": [
    "8.8.8.8",
    "2001:4860:4860::8888",
    "3.5.140.10"
  ]
}

Example request

curl -X POST "https://api-ip-intelligence.dataandapis.com/v1/ip" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "addresses": [ "8.8.8.8", "2001:4860:4860::8888", "3.5.140.10" ] }'
Example response
{
  "ok": true,
  "count": 4,
  "results": [
    {
      "ok": true,
      "ip": "8.8.8.8",
      "family": "ipv4",
      "mapped_from": null,
      "special_use": null,
      "country": "US",
      "registry_country": "US",
      "country_matches_registry": true,
      "asn": {
        "number": 15169,
        "organization": "GOOGLE",
        "registry_country": "US",
        "range": {
          "start": "8.8.8.0",
          "end": "8.8.8.255"
        }
      },
      "hosting": null,
      "is_datacenter": false,
      "is_cdn": false,
      "is_tor_exit": false,
      "is_routed": true,
      "risk": {
…
Show full response
{
  "ok": true,
  "count": 4,
  "results": [
    {
      "ok": true,
      "ip": "8.8.8.8",
      "family": "ipv4",
      "mapped_from": null,
      "special_use": null,
      "country": "US",
      "registry_country": "US",
      "country_matches_registry": true,
      "asn": {
        "number": 15169,
        "organization": "GOOGLE",
        "registry_country": "US",
        "range": {
          "start": "8.8.8.0",
          "end": "8.8.8.255"
        }
      },
      "hosting": null,
      "is_datacenter": false,
      "is_cdn": false,
      "is_tor_exit": false,
      "is_routed": true,
      "risk": {
        "score": 0,
        "level": "none",
        "reasons": []
      }
    },
    {
      "ok": true,
      "ip": "2001:4860:4860::8888",
      "family": "ipv6",
      "mapped_from": null,
      "special_use": null,
      "country": "CA",
      "registry_country": "US",
      "country_matches_registry": false,
      "asn": {
        "number": 15169,
        "organization": "GOOGLE",
        "registry_country": "US",
        "range": {
          "start": "2001:4860:480d::",
          "end": "2001:4860:4864:ffff:ffff:ffff:ffff:ffff"
        }
      },
      "hosting": null,
      "is_datacenter": false,
      "is_cdn": false,
      "is_tor_exit": false,
      "is_routed": true,
      "risk": {
        "score": 10,
        "level": "low",
        "reasons": [
          {
            "signal": "country_mismatch",
            "weight": 10,
            "detail": "Geolocates to CA but the block is registered in US."
          }
        ]
      }
    },
    {
      "ok": true,
      "ip": "127.0.0.1",
      "family": "ipv4",
      "mapped_from": null,
      "special_use": "loopback",
      "country": null,
      "registry_country": null,
      "country_matches_registry": null,
      "asn": null,
      "hosting": null,
      "is_datacenter": false,
      "is_cdn": false,
      "is_tor_exit": false,
      "is_routed": false,
      "risk": {
        "score": 0,
        "level": "none",
        "reasons": []
      }
    },
    {
      "ok": false,
      "ip": "not-an-ip",
      "message": "Not a valid IPv4 or IPv6 address."
    }
  ]
}

GETSearch Autonomous Systems

https://api-ip-intelligence.dataandapis.com/v1/asns

Query parameters

ParameterExample
countryDEOptional
limit20Optional
page1Optional
qhetznerOptional

Example request

curl "https://api-ip-intelligence.dataandapis.com/v1/asns?country=DE&limit=20&page=1&q=hetzner" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 10,
  "page": 1,
  "limit": 5,
  "count": 5,
  "results": [
    {
      "asn": 13335,
      "organization": "CLOUDFLARENET",
      "registry_country": "US"
    },
    {
      "asn": 14789,
      "organization": "CLOUDFLARENET",
      "registry_country": "US"
    },
    {
      "asn": 132892,
      "organization": "CLOUDFLARE Cloudflare, Inc.",
      "registry_country": "US"
    },
    {
      "asn": 139242,
      "organization": "CSL-AS-AP Cloudflare Sydney, LLC",
      "registry_country": "US"
    },
    {
…
Show full response
{
  "ok": true,
  "total": 10,
  "page": 1,
  "limit": 5,
  "count": 5,
  "results": [
    {
      "asn": 13335,
      "organization": "CLOUDFLARENET",
      "registry_country": "US"
    },
    {
      "asn": 14789,
      "organization": "CLOUDFLARENET",
      "registry_country": "US"
    },
    {
      "asn": 132892,
      "organization": "CLOUDFLARE Cloudflare, Inc.",
      "registry_country": "US"
    },
    {
      "asn": 139242,
      "organization": "CSL-AS-AP Cloudflare Sydney, LLC",
      "registry_country": "US"
    },
    {
      "asn": 202623,
      "organization": "CLOUDFLARENET-CORE Cloudflare, Inc.",
      "registry_country": "US"
    }
  ]
}

Where the data comes from

Source
RouteViews BGP data via iptoasn.com (public domain), DB-IP country lite (CC BY 4.0, attribution required), the published address ranges of AWS, Azure, Google Cloud, Oracle, DigitalOcean, Cloudflare, Fastly and GitHub, and the Tor Project exit list. 1.37 million ranges in total.
Freshness
Routing hourly, cloud and Tor daily, country database monthly. Self-hosted, with no external call per request.

One install. Every endpoint.

No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.

3languages
7endpoints
RESTarchitecture
1key for all APIs
  • Fully typed responses β€” auto-completion in your IDE
  • Tracks the API in lockstep β€” new endpoints land same day
  • One key works across 125+ APIs on the platform
import axios from 'axios';

const { data } = await axios.get(
  'https://api-ip-intelligence.dataandapis.com/v1/sources',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

IP Intelligence API Β· X-Api-Key

Explore the endpoints

Browse request parameters and inspect live example responses.

Available Endpoints

Request Parameters

API URL

Headers

X-Api-Key
import axios from 'axios';

const url = 'https://api-ip-intelligence.dataandapis.com/v1/sources';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

One subscription. Every API.

Tokens unlock this API and 125+ others on DataAndAPIs. Switch APIs any time β€” we promote.

FREE

$0/mo

500 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Community support
Start free
Most Popular

STARTER

$6.99/mo

25,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Email support
Subscribe

PRO

$24.99/mo

100,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority email support
Subscribe

ULTRA

$99.99/mo

1,000,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority support
Subscribe

Need higher volume, dedicated infra, or a custom contract? Talk to sales β†’

Questions about IP Intelligence API

Ship IP Intelligence API this afternoon.

500 free tokens. No card. Plus 125+ other APIs on the same key.