一括検索

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。

親子アカウントの子アカウントのAPIキーも同様に機能します。つまり、子アカウントのキーを使用してリクエストを行うと、親アカウントのサブスクリプションのプランのフィールドが取得されます。

出力例

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

出力パラメータ

results

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

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

count

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

無料アクセス

登録後、クエリ数1,000件まで利用できる無料プランが自動的に適用されます。

レート制限

APIリクエストには、APIキーごとに60秒間のスライディングウィンドウ方式でレート制限が適用されます。上限はご利用のプランによって異なります。

はじめに、および無料会員登録後の検索機能

120リクエスト/分

Starter

120リクエスト/分

Pro

150リクエスト/分

Scale

250リクエスト/分

ビジネス

500リクエスト/分

Enterprise

10,000リクエスト/分(すべてのエンタープライズキーで同じ一律の上限が適用されます)


月間クエリクレジットは別途設定されており、価格ページで確認できます。

上限を超えると、APIは標準のエラー形式とRetry-After / X-RateLimit-Resetヘッダーを含むHTTP429を返します。再試行する前に、Retry-Afterで指定された秒数だけ待機してください。

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

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