Stapelabfrage

Klassifizieren Sie bis zu 100 IPv4-Adressen in einem einzigen Aufruf. Vorgesehen für Pipelines zur Betrugsbekämpfung, Risikobewertung und Inhaltsmoderation, die Spitzenauslastungen verarbeiten.

API-Endpunkt

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

Die API erwartet, dass die Parameter im Hauptteil jeder Anfrage im JSON-Format kodiert sind.

Beispiel für eine CURL-Anfrage

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"]}'

Beispiel für den Inhalt einer POST-Anfrage

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

Die Aktivierung Ihres Kontos nach der Registrierung dauert bis zu einer Minute.

Eingabeparameter

apiKey

Erforderlich. Rufen Sie Ihren persönlichen API-Schlüssel auf der Seite „Meine Produkte “ ab.

ips

Erforderlich. Array aus Zeichenfolgen.

Liste der zu klassifizierenden IPv4-Adressen. Maximal 100 Einträge pro Anfrage.

min_confidence

Optional. Float.

Es werden nur Zuordnungen zurückgegeben, deren Signalkonfidenz größer oder gleich diesem Wert ist.

Zulässige Werte: [0, 1].

Standardwert: 0.

API-Schlüssel von untergeordneten Konten innerhalb einer Eltern-Kind-Kontostruktur funktionieren auf dieselbe Weise: Bei einem Aufruf mit einem untergeordneten Schlüssel werden die Felder des Tarifs des übergeordneten Abonnements abgerufen.

Beispielausgabe

{
    "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.

Ausgabeparameter

Ergebnisse

Array. Ein Klassifizierungsobjekt pro Eingangs-IP, in derselben Reihenfolge wie in der Anfrage.

Jeder Eintrag hat dieselbe Form wie die Antwort mit einer einzigen IP-Adresse. Informationen zu den Beschreibungen der einzelnen Felder finden Sie unter „Anfragen stellen “.

Anzahl

Ganzzahl. Die Anzahl der zurückgegebenen Klassifizierungen. Entspricht bei Erfolg der Länge des Eingabe-Arrays „ips “.

Freier Zugang

Nach der Registrierung erhalten Sie automatisch ein kostenloses Abonnement, das auf 1.000 Abfragen begrenzt ist.

Ratenbegrenzungen

API-Anfragen unterliegen pro API-Schlüssel einer Ratenbegrenzung über ein gleitendes 60-Sekunden-Fenster. Das Limit hängt von Ihrem Abonnement ab:

Einführung und kostenlose Abfragen bei der Registrierung

120 Anfragen/Minute

Vorspeise

120 Anfragen/Minute

Pro

150 Anfragen/Minute

Maßstab

250 Anfragen/Minute

Business

500 Anfragen/Minute

Unternehmen

10.000 Anfragen/Minute (gleiche pauschale Obergrenze für jeden Enterprise-Schlüssel)


Die monatlichen Abfrageguthaben werden separat ausgewiesen und sind auf der Preisseite aufgeführt.

Wenn Sie Ihr Limit überschreiten, gibt die API den HTTP-Status 429 mit dem Standard-Fehler-Envelope und den Headern „Retry-After“ und „X-RateLimit-Reset“ zurück – warten Sie „Retry-After“-Sekunden, bevor Sie es erneut versuchen.

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

Diese API ist auch mit einem dedizierten Load Balancer und einem Premium-Endpunkt verfügbar, um schnellere Abfragen als Teil unserer Premium-API-Dienste und Enterprise-API-Pakete zu ermöglichen.