一括検索

1回のAPI呼び出しで最大100件のIPv4アドレスを分類できます。急増するトラフィックを処理する不正対策、リスク管理、コンテンツモデレーションのパイプラインでの利用を想定しています。

APIエンドポイント

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

APIでは、各リクエストのボディにJSON形式でエンコードされたパラメータを指定する必要があります。

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

POSTリクエストボディの例

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

登録後、アカウントが有効になるまで最大1分かかります。

入力パラメータ

apiKey

必須。「My products」ページで個人用APIキーを取得してください。

ips

必須。文字列の配列。

分類するIPv4アドレスのリスト。1回のリクエストにつき最大100件。

min_confidence

任意。浮動小数点数。

この値以上のシグナル信頼度を持つプロバイダー情報のみが返されます。

指定可能な値:[0, 1]

初期値:0

出力例

{
    "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": 97,
                "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": 100,
                "signals": { "open_ports": [9001, 9030] },
                "dns_enrichment": null,
                "tls_enrichment": null
            },
            "observed_location": null
        }
    ],
    "count": 2
}

Code: 200 OK.

出力パラメータ

results

配列。入力されたIPアドレスごとに1つの分類オブジェクトが、リクエストと同じ順序で返されます。

各項目の構成は、単一IPアドレスのレスポンスと同じです。各フィールドの説明については、「リクエストの実行」を参照してください。

count

整数。返された分類結果の数。正常に処理された場合、入力されたips配列の要素数と一致します。

無料アクセス

サインアップすると、10クエリまで利用できる無料プランが自動的に適用されます。

利用上限とリクエストのレート制限

1秒あたりの最大リクエスト数は30件です。上限を超えた場合、それ以降のリクエストは次の1秒が始まるまで拒否されます。

このAPIでは、より高速なクエリ処理を可能にする専用ロードバランサーとプレミアムエンドポイントも、Premium API ServicesおよびEnterprise API Packagesの一部としてご利用いただけます。