Búsqueda por lotes

Clasifica hasta 100 direcciones IPv4 en una sola llamada. Diseñado para procesos de detección de fraude, gestión de riesgos y moderación de contenidos que gestionan picos de tráfico.

Endpoint de la API

PUBLICAR https://vpn-proxy-detection.whoisxmlapi.com/api/v1/ip/batch

La API espera que los parámetros estén codificados en formato JSON en el cuerpo de cada solicitud.

Ejemplo de solicitud CURL

curl https://vpn-proxy-detection.whoisxmlapi.com/api/v1/ip/batch -X POST -H "Content-Type: application/json" -d '{"apiKey": "YOUR_API_KEY", "ips": ["8.8.8.8", "1.1.1.1", "185.220.101.1"]}'

Ejemplo de cuerpo de una solicitud POST

{
    "apiKey": "YOUR_API_KEY",
    "ips": [
        "8.8.8.8",
        "1.1.1.1",
        "185.220.101.1"
    ],
    "min_confidence": 0.5
}

La activación de su cuenta tarda hasta un minuto tras el registro.

Parámetros de entrada

apiKey

Obligatorio. Obtenga su clave API personal en la página Mis productos.

ips

Obligatorio. Matriz de cadenas.

Lista de direcciones IPv4 que se deben clasificar. Máximo de 100 entradas por solicitud.

min_confidence

Opcional. Flotante.

Solo se devuelven las atribuciones cuya confianza en la señal sea mayor o igual que este valor.

Valores permitidos: [0, 1].

Valor por defecto: 0.

Las claves API secundarias de una cuenta principal-secundaria funcionan de la misma manera: una llamada con una clave secundaria obtiene los campos del plan de la suscripción principal.

Ejemplo de respuesta

{
    "results": [
        {
            "ip": "1.1.1.1",
            "network": "1.1.1.0\/24",
            "classification": "cdn",
            "provider": "Cloudflare",
            "confidence": 0.97,
            "source": "asn_classification",
            "detection_method": "asn_classification",
            "first_seen": "2024-01-15T08:30:00Z",
            "last_seen": "2026-05-20T11:04:00Z",
            "observation_count": 412,
            "hits_days_pct": null,
            "providers_num": 0,
            "confidence_decay": 0.0,
            "freshness_class": "current",
            "is_vpn": false,
            "is_proxy": false,
            "is_tor": false,
            "is_relay": false,
            "is_hosting": false,
            "is_cdn": true,
            "is_residential_proxy": false,
            "is_residential_proxy_high_confidence": false,
            "is_residential_proxy_mobile": false,
            "is_open_proxy": false,
            "is_corporate_vpn": false,
            "risk_score": 97,
            "asn": 13335,
            "asn_org": "CLOUDFLARENET",
            "cdn_operator": "cloudflare",
            "asn_abuse": {
                "abuse_score": 4,
                "abuse_level": "low"
            },
            "metadata": {
                "raw_score": null,
                "signals": null,
                "dns_enrichment": null,
                "tls_enrichment": null
            },
            "observed_location": null
        },
        {
            "ip": "185.220.101.1",
            "network": "185.220.101.0\/24",
            "classification": "tor",
            "provider": null,
            "confidence": 1.0,
            "source": "port_scan",
            "detection_method": "port_scan",
            "first_seen": "2024-01-15T08:30:00Z",
            "last_seen": "2026-05-21T08:59:09Z",
            "observation_count": 127,
            "hits_days_pct": 47.78,
            "providers_num": 0,
            "confidence_decay": 0.6650,
            "freshness_class": "current",
            "is_vpn": false,
            "is_proxy": false,
            "is_tor": true,
            "is_relay": false,
            "is_hosting": false,
            "is_cdn": false,
            "is_residential_proxy": false,
            "is_residential_proxy_high_confidence": false,
            "is_residential_proxy_mobile": false,
            "is_open_proxy": false,
            "is_corporate_vpn": false,
            "risk_score": 100,
            "asn": 60729,
            "asn_org": "ZWIEBELFREUNDE",
            "cdn_operator": null,
            "asn_abuse": {
                "abuse_score": 88,
                "abuse_level": "high"
            },
            "metadata": {
                "raw_score": null,
                "signals": null,
                "dns_enrichment": null,
                "tls_enrichment": null
            },
            "observed_location": null
        }
    ],
    "count": 2
}

Code: 200 OK.

Parámetros de salida

results

Matriz. Un objeto de clasificación por cada dirección IP de entrada, en el mismo orden que la solicitud.

Cada elemento tiene la misma estructura que la respuesta de una sola IP. Consulte Realización de solicitudes para obtener descripciones por campo.

count

Entero. El número de clasificaciones devueltas. En caso de éxito, coincide con la longitud de la matriz ips de entrada.

Acceso gratuito

Tras registrarte, obtendrás automáticamente un plan de suscripción gratuito limitado a 1.000 consultas.

Límite de solicitudes

Las solicitudes a la API están sujetas a un límite de frecuencia por clave de API en una ventana móvil de 60 segundos. El límite depende de su plan de suscripción:

Introducción y búsquedas gratuitas tras el registro

120 solicitudes/min

Starter

120 solicitudes/min

Pro

150 solicitudes/min

Escala

250 solicitudes/min.

Business

500 solicitudes/min.

Enterprise

10 000 solicitudes por minuto (el mismo límite fijo para todas las claves Enterprise)


Los créditos mensuales para consultas son independientes y se indican en la página de tarifas.

Si supera su límite, la API devuelve un código de estado HTTP 429 con la información de error estándar y los encabezados Retry-After y X-RateLimit-Reset; espere unos segundos a Retry-After antes de volver a intentarlo.

{"error": {"code": "rate_limited", ...}}

Esta API también está disponible con un equilibrador de carga específico y un punto final premium para permitir consultas más rápidas como parte de nuestros servicios Premium API y paquetes API Enterprise.