Lookup IP Batch

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

Lookup IP Batch es un endpoint de IP Intelligence API. País, ASN, detección de datacenter, nube y Tor con una puntuación de riesgo explicable para cualquier IP.

Envía tu clave en la cabecera X-Api-Key. Cada llamada cuesta 1 token; una clave gratuita incluye 500 tokens al mes.

Petición

Cuerpo de la petición

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

Petición de ejemplo

curl
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" ] }'
Node.js
const res = await fetch("https://api-ip-intelligence.dataandapis.com/v1/ip", {
  method: "POST",
  headers: { "X-Api-Key": process.env.DATAANDAPIS_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({
    "addresses": [
      "8.8.8.8",
      "2001:4860:4860::8888",
      "3.5.140.10"
    ]
  }),
});
const data = await res.json();
Python
import os, requests

r = requests.post(
    "https://api-ip-intelligence.dataandapis.com/v1/ip",
    headers={"X-Api-Key": os.environ["DATAANDAPIS_KEY"]},
    json={
      "addresses": [
        "8.8.8.8",
        "2001:4860:4860::8888",
        "3.5.140.10"
      ]
    },
)
data = r.json()

Respuesta de ejemplo

Respuesta de ejemplo
{
  "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": {
…
Ver la respuesta completa
{
  "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."
    }
  ]
}