リクエストの実行

単一のIPアドレスを、VPN、プロキシ、Tor出口ノード、ホスティング/CDN、住宅用/モバイルプロキシのいずれかに分類します。

APIエンドポイント

GET https://vpn-proxy-detection.whoisxmlapi.com/api/v1/ip/185.220.101.1?apiKey=YOUR_API_KEY
登録後、アカウントが有効になるまで最大1分かかります。

Postman Collection

Postmanは、グラフィカルユーザーインターフェース(GUI)からAPIにリクエストを送信できるデスクトップおよびWebアプリケーションです。API機能を確認する場合や、アプリケーションの問題をトラブルシューティングする場合には、WhoisXML API のエンドポイントでPostman を使用することをお勧めします

WhoisXML APIのPostman Collectionは、以下のリンクからご利用いただけます。

Postman Collectionには、事前設定済みの環境が含まれています。各リクエストを実行するには、 api_key 変数を設定する必要があります。個人用APIキーは「My products」ページで取得できます。APIに関するご質問は、こちらからお送りください。

入力パラメータ

apiKey

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

ipAddress

必須。分類するIPv4アドレス。リクエストURLのパスセグメントとして指定します。例:/api/v1/ip/185.220.101.1

出力例

{
    "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-06-08T08: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": "TORSERVERS-NET - Stiftung Erneuerbare Freiheit, DE",
    "cdn_operator": null,
    "asn_abuse": {
        "abuse_score": 88,
        "abuse_level": "high",
        "flagged_ratio": 0.62,
        "flagged_ip_count": 1240,
        "total_announced_ips": 2000
    },
    "metadata": {
        "raw_score": 100,
        "signals": { "open_ports": [9001, 9030] },
        "dns_enrichment": null,
        "tls_enrichment": null
    },
    "observed_location": null
}

Code: 200 OK.

出力パラメータ

ip

照会したIPv4アドレス。そのまま返されます。

network

文字列またはnull。IPアドレスが属するCIDR範囲(判明している場合)。

classification

文字列。IPアドレスの検出タイプ。

指定可能な値:vpncorporate_vpnproxyhostingcdntorrelayresidential_proxyresidential_proxy_likelyresidential_proxy_mobiledatacenter_proxymobile_proxysuspected_vpnsuspected_proxyunknown

provider

文字列またはnull。IPアドレスに関連付けられたプロバイダー(例:VPNブランド、住宅用プロキシネットワーク、ホスティング事業者)。プロバイダーを特定できない場合はnull。

confidence

0~1の浮動小数点数。分類結果について補正された信頼度。値が高いほど、より強い根拠があることを示します。

source

文字列。レコードの生成に使用された検出方法(例:mslmport_scanproxy_enumnetflow_analysisasn_classification)。

detection_method

文字列。sourceと同じ値(後方互換性のために残されている旧フィールド)。

first_seen

文字列(ISO 8601形式)またはnull。IPアドレスが最初に観測された日時。

last_seen

文字列(ISO 8601形式)またはnull。IPアドレスが最後に観測された日時。

observation_count

整数。IPアドレスが観測された合計回数(ヒット数)。

hits_days_pct

浮動小数点数またはnull。継続性:直近90日間の観測期間のうち、IPアドレスがアクティブなプロキシ/VPNの出口として観測された日数の割合(観測された日数 ÷ 90 × 100)。

High (>50) indicates a consistently active exit; low (<5) indicates sporadic or one-shot activity. Null when the result comes from a network-range detection with no per-IP observation history.

providers_num

整数。IPアドレスが出口として観測された、異なるプロキシ/VPNネットワークの数。2以上の場合、そのIPアドレスが複数の商用ネットワークで共有または再販されていることを示し、プロキシである可能性を強く示すシグナルとなります。0は、IPアドレス単位の列挙履歴がなく、IPアドレス範囲単位でのみ検出されていることを示します。

confidence_decay

0~1.5の浮動小数点数。複数の根拠を組み合わせたエビデンス強度スコアで、鮮度係数 × 一貫性 × 複数プロバイダーによる加算で算出されます。1.0を超える値は、複数のプロバイダーで確認され、日次でアクティブなIPアドレスであることを示します。0.0 は、個別の観測ポイントでは一度も観測されていないことを示します。0~1に正規化したスコアを使用する場合は、min(confidence_decay, 1.0) を使用してください。

freshness_class

文字列。last_seen から算出された観測データの経過期間区分。日付を計算せずにフィルタリングできます。

指定可能な値:current(過去1日以内に観測)、recent(過去1週間以内)、stale(過去90日以内)、frozen(90日より前、または観測されたことがない)。

is_vpn

Boolean. True if the classification is in {vpn, vpn_concentrator, corporate_vpn, commercial_vpn, vpn_hosting} (confirmed VPN endpoints). Does not include tor, relay, suspected_vpn, or vpn_suspecttor/relay have dedicated booleans; suspected_vpn/vpn_suspect are corroboration-only signals that do not set is_vpn. This asymmetry with is_proxy is deliberate: suspected_proxy does set is_proxy, but suspected_vpn/vpn_suspect never set is_vpn.

is_proxy

ブール値。classificationが {proxy,datacenter_proxy,mobile_proxy,suspected_proxy} のいずれかの場合はTrue。住宅用プロキシは含まれませんis_residential_proxy を参照)。種類を問わずすべてのプロキシを対象とするには、is_proxy または is_residential_proxy を使用してください。

is_tor

ブール値。IPアドレスがTor出口ノード(classification tor)の場合はTrue。

is_relay

ブール値。classificationがrelayの場合はTrue。Apple Private Relayなどのプライバシー保護を目的としたリレーサービスを示します。is_vpn とは異なり、リレーではユーザーが接続先を選択できず、プロバイダーが運用する出口を経由してユーザーのトラフィックがルーティングされます。

is_hosting

ブール値。IPアドレスがデータセンター/ホスティングプロバイダーに属する場合はTrue。

is_cdn

ブール値。IPアドレスがコンテンツ配信ネットワーク(CDN)に属する場合はTrue。

is_residential_proxy

Boolean. True if the classification is in {residential_proxy, residential_proxy_likely, residential_proxy_mobile}. Mutually exclusive with is_proxy; use the more specific booleans below to filter further.

is_residential_proxy_high_confidence

ブール値。residential_proxy(適合率85%以上)の場合はTrue 。is_residential_proxy のサブセットです。

is_residential_proxy_mobile

ブール値。classification ==residential_proxy_mobileの場合はTrue。プロキシとして検出されたモバイル通信事業者のIPアドレスを示します。is_residential_proxy のサブセットです。

is_open_proxy

ブール値。IPアドレスが公開されているオープンプロキシのリストに掲載されている場合はTrue。is_proxyとは異なり、すべてのオープンプロキシはプロキシに該当しますが、大半のプロキシは公開リストには掲載されていません。

is_corporate_vpn

ブール値。IPアドレスがアプライアンス型VPN(Fortinet、Pulse Secure、Cisco AnyConnectなど)の場合はTrue。is_vpnのサブフラグです。

risk_score

0~100の整数。confidence × 100 で算出され、高リスクの分類タイプの場合は10が加算されます。

asn

整数またはnull。IPアドレスをアナウンスしている自律システム(AS)の番号。

asn_org

文字列またはnull。ASNに登録されている組織名。

cdn_operator

文字列またはnull。正規化されたCDN事業者のブランド名(小文字)。例:akamaifastlycloudflareaws_cloudfront。classification ==cdn の場合のみnull以外の値になります。

asn_abuse

オブジェクトまたはnull。ASNレベルの不正利用スコア。すべてのプランで利用できます。プレミアムプラン(Growth以上)では、詳細な内訳も確認できます。

abuse_score:0~100の整数。このASNの不正利用レベル(すべてのプランで利用可能)。

abuse_level:文字列。lowmoderatehighcriticalのいずれか(すべてのプランで利用可能)。

flagged_ratio:0.0~1.0の浮動小数点数。ASN内でフラグが付けられたIPアドレスの割合(Growth以上のプランで利用可能)。

flagged_ip_count:整数。フラグが付けられたIPアドレスの数(Growth以上のプランで利用可能)。

total_announced_ips: 整数。このASNがアナウンスしているIPアドレスの総数(Growth以上のプランで利用可能)。

metadata

オブジェクト。追加の検出シグナルおよびエンリッチメントデータ(すべてのキーは任意):

raw_score:数値。内部で使用される信頼度スコア(0~100)。

signals:オブジェクト。検出シグナル(ポートパターン、プロトコルなど)。

dns_enrichment:オブジェクト。DNS PTRレコードおよび逆引きDNS(rDNS)の履歴。

tls_enrichment:オブジェクト。TLS証明書の分析情報。

observed_location

オブジェクトまたはnull。地理情報。プレミアムプラン(Growth以上)でのみ利用可能。観測された位置情報を利用できない場合はnull。キー:

exit_country:文字列またはnull。出口IPアドレスのISO 3166-1 alpha-2国コード。

user_countries:文字列の配列またはnull。このIPアドレスのユーザーが観測された国。

user_country_count:整整数またはnull。異なるユーザー所在国の数。

observed_lat/observed_lon:数値またはnull。観測された出口地点の座標。

observed_countries:文字列の配列。このコンセントレーターが観測された国。

observation_readings:文字列またはnull。観測に関するメタデータ。

無料アクセス

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

レート制限

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

Free

2リクエスト/分

Starter

30リクエスト/分

Pro

100リクエスト/分

Scale

250リクエスト/分

ビジネス

500リクエスト/分

Enterprise

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

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

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

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