知っておきたい IP データフィールド完全一覧
GeoIPHub のライブレスポンスに含まれるすべての IP データフィールド。10 グループ 103 フィールドそれぞれの型と実際の値の例、11 個のプレースホルダーを明示しています。

「IP アドレスからどんなデータが得られるのか」と尋ねると、ほとんどの答えは「おおまかな位置」で終わります。それは IP インテリジェンスの全体像の中で最も小さな部分です。同じアドレスから、どのネットワークが所有しているか、自宅の回線か借りられたサーバーか、VPN、Tor 出口、プライバシーリレーのいずれか、ブロックリストに載っているか、検証済みのクローラーかどうかも分かります。検出フィールドの作られ方は、VPN とプロキシ検出の仕組みを参照してください。
このリファレンスは 7 月版から大きく変わりました。API にフィールドが 3 つ追加され、当社の表で 2 つが漏れており、ある Tor 出口のスコアは 79 から 100 に動き、7 月の表が誤って説明していた値を返すフィールドもいくつかあります。以下の例はすべて 2026 年 10 月 22 日の GET api.geoiphub.com/v1/lookup/{ip} によるもので、無料の IP ルックアップツールでどれも再現できます。

2026 年 10 月 22 日の 7 件のライブレスポンスで 103 フィールドを数えました
2026 年 10 月 22 日の 04:56 から 04:57 UTC の間に 7 件のレスポンスを取得し、10 グループにわたる 103 フィールドを数えました。7 月以降にこのリストに加わったフィールドが 5 つ、プレースホルダーが 11 つあります。7 つのアドレスは、異なるグループを浮かび上がらせるために選んだ公開インフラです。
| IP | 正体 | 2026 年 10 月 22 日の判定 |
|---|---|---|
| 185.220.101.1 | Tor 出口、TORSERVERS-NET、ハンブルク | 100、block |
| 185.213.155.73 | Mullvad VPN サーバー、フランクフルト | 100、block |
| 66.249.66.1 | Googlebot | 0、allow |
| 104.28.46.99 | Cloudflare 上の iCloud プライベートリレーのエグレス | 9、allow |
| 45.33.32.156 | scanme.nmap.org、Linode のサーバー | 10、allow |
| 8.8.8.8 | Google Public DNS(エニーキャスト) | 10、allow |
| 1.1.1.1 | Cloudflare DNS(エニーキャスト) | 10、allow |
小さな Node スクリプトですべてのレスポンスを走査し、各リーフフィールドを一覧にしました。geo.country_names は翻訳のマップなので 1 フィールドとして数えています。7 件のレスポンスは、まったく同じ 103 個のキーを持っていました。内訳は次のとおりです。
| グループ | フィールド数 | 現在のプレースホルダー |
|---|---|---|
| ip | 1 | 0 |
| asn | 12 | 0 |
| geo | 15 | 0 |
| whois | 8 | 0 |
| network | 7 | 3(open_ports、service、cloud_region) |
| detection | 23 | 0 |
| threat | 25 | 7(blocklist_sources、crawler.spoofed、botnet.last_seen、3 つのハニーポットフィールド、spammer_last_seen) |
| dns | 3 | 0 |
| scoring | 4 | 0 |
| meta | 5 | 1(sources) |
| 合計 | 103 | 11 |
このリストに新しく加わったフィールドは 5 つです。 3 つは 10 月に API へ追加されたもので、detection.residential_proxy_status、residential_proxy_evidence、residential_proxy_last_seen です。これらは現在 API フィールドリファレンスに掲載され、予約済みと記されています。残りの 2 つ、threat.crawler.unverified と threat.spammer_last_seen は 7 月の時点ですでにレスポンスにあり、以前の表が単に載せ忘れていたものです。7 月のリストから削除されたフィールドはありません。
11 個のフィールドはプレースホルダーです。 API のレスポンスビルダーを確認したところ、そのうち 10 個はどのルックアップでも一定の空の値([]、"none"、0)として書き込まれており、crawler.spoofed にはまだデータソースがありません。さらに 8 個のフィールドにはデータが入っていますが予約済みで、値は掲載していません。blocklist_count、両方のグループの ptr_pattern、そして 5 つのレジデンシャルプロキシ関連フィールドです。以下の表では、どちらの種類にも印を付けています。
1 件の Tor 出口のルックアップで見る、10 グループのつながり
グループは、1 つのアドレスをたどって見るのが最も理解しやすい方法です。次は Tor 出口である 185.220.101.1 の実際のレスポンスで、その様子が分かるフィールドだけに絞っています。
{
"ip": "185.220.101.1",
"asn": {
"asn": 60729,
"org": "TORSERVERS-NET - Stiftung Erneuerbare Freiheit",
"asn_type": "hosting",
"connection_type": "datacenter",
"rpki": "valid"
},
"geo": {
"country_code": "DE",
"city": "Hamburg (Hamburg-Nord)",
"timezone": "Europe/Berlin",
"geo_confidence": 0.8
},
"whois": {
"org": "none",
"netname": "ARTIKEL10",
"status": "ASSIGNED PA",
"registered": "2017-09-12T00:00:00.000Z"
},
"network": {
"ptr_record": "none",
"fcrdns_valid": "none",
"abuse_contact": "abuse@artikel10.org"
},
"detection": {
"is_vpn": false,
"is_tor": true,
"is_hosting": true,
"is_anonymous": true,
"anonymity_level": "high"
},
"threat": {
"is_spammer": true,
"threat_types": ["spammer", "tor"],
"dnsbl_sources": ["zen.spamhaus.org"]
},
"scoring": {
"fraud_score": 100,
"confidence": 0.7402500000000001,
"recommended_action": "block",
"detection_methods": ["tor_exit", "datacenter_blocklisted", "no_ptr_datacenter", "known_spammer"]
},
"meta": {
"last_classified_at": "2026-10-22T04:56:41.816Z",
"last_scanned": "2026-10-20T18:45:48.000Z",
"latency_ms": 2
}
}
各グループは互いを裏付けています。ASN はホスティングを示し、detection.is_tor は Tor Project の出口リストに由来し、threat.dnsbl_sources は Spamhaus ZEN への掲載を示し、scoring グループがそのすべてを、発火した 4 つのメソッドとともに block にまとめています。
このレスポンスには、1 つの欠落も表れています。ptr_record は "none" で、そのため no_ptr_datacenter が発火しましたが、同じ朝に実行したライブの dig -x 185.220.101.1 は tor-exit のホスト名を返しました。一部のアドレスでは、API が保存している逆引き DNS がライブのレコードより遅れています。この記事の 7 月版に載っていた rdns_tor が発火しなくなったのも、この食い違いのためです。グループ間でこうした相互チェックができることが、これだけ多くのフィールドを持つ理由です。では、各グループを順に見ていきましょう。
1. IP 自体(ip)
ip フィールドは、API が解決した正確なアドレスを文字列として返します。意図したものを調べたかどうかの確認に使ってください。特に X-Forwarded-For ヘッダーを解析した後は、誤ったホップを選ぶのが典型的なバグです。また、お客様自身のキャッシュの自然なキーにもなります。
IPv4 も IPv6 も受け付けます。ご自身の公開アドレスが分からない場合は、what-is-my-IP ツールで、ウェブサイトがそこから推測できるすべての情報とともに確認できます。
2. ネットワークと ASN のデータ(asn)
asn グループは、どのネットワークがそのアドレスを広告しているかを示します。得られる IP データの中で最も信頼性の高いものの 1 つです。ルーティング可能なすべての IP は 自律システムに属しており、それは推定ではなくグローバルルーティングテーブルに由来します。
| フィールド | 型 | 分かること | 例(8.8.8.8) |
|---|---|---|---|
| asn | number | IP を広告している自律システム番号 | 15169 |
| org | string | その AS を運用する組織 | GOOGLE - Google LLC |
| asn_type | string | ネットワークの種別:isp、hosting、cdn、mobile、satellite、unknown | hosting |
| user_type | string | 用途の分類。例:hosting、residential、cellular、content_delivery_network | hosting |
| isp | string | ISP 名(現在は org と同じ値) | GOOGLE - Google LLC |
| domain | string | ネットワークに関連付けられたドメイン | none |
| connection_type | string | datacenter、residential、mobile、satellite、unknown | datacenter |
| access_type | string | rDNS のマーカーから読み取るアクセス媒体:fiber、cable、dsl、cellular、datacenter | datacenter |
| carrier | string | 携帯電話 IP の場合のモバイルキャリア名 | none |
| mcc | string | 携帯電話 IP の場合のモバイル国コード | none |
| mnc | string | 携帯電話 IP の場合のモバイルネットワークコード | none |
| rpki | string | RPKI の経路オリジン検証:valid、invalid、unknown | valid |
値はアドレスによって変わります。1.1.1.1 は asn_type: "cdn" と user_type: "content_delivery_network" で返り、Googlebot は user_type: "search_engine_spider" で返りました。プライベートリレーのエグレスは asn_type: "unknown"、connection_type: "unknown"、user_type: "consumer_privacy_network" を返しました。7 月から変わった点が 1 つあります。8.8.8.8 は現在 rpki: "valid" を返しますが、当社のドキュメントのサンプルは今も "invalid" のままです。
注目すべきフィールドは connection_type です。一般ユーザー向けのログインにデータセンターのアドレスがあれば、もう一度確認する価値があります。ただしホスティングというだけでは不正ではありません。45.33.32.156 は単なるホスティングで、スコア 10 の allow でした。どのアドレスも、無料のデータセンター IP チェックで確認でき、IP ジオロケーション API のページでは ASN モデルを説明しています。
3. ジオロケーションのデータ(geo)
geo グループは、アドレスを地図上に置くもので、最も過信されやすいグループです。15 個のフィールドすべてに、実行したどのルックアップでもデータが入っていました。
| フィールド | 型 | 分かること | 例(1.1.1.1) |
|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 の国コード | AU |
| country_name | string | 国名 | Australia |
| country_names | object | 言語コードをキーとした、ローカライズされた国名 | { en, de, es, fr, ja, ... } |
| country_geoname_id | number | 国の GeoNames ID | 2077456 |
| continent_code | string | 2 文字の大陸コード | OC |
| continent_name | string | 大陸名 | Oceania |
| continent_geoname_id | number | 大陸の GeoNames ID | 6255151 |
| is_in_european_union | boolean | 国が EU 加盟国かどうか | false |
| flag_emoji | string | 国の Unicode 国旗 | 🇦🇺 |
| region | string | 州、県、地域 | New South Wales |
| city | string | 最も確からしい市区町村 | Sydney |
| timezone | string | IANA タイムゾーン。なければ "none" | Australia/Sydney |
| latitude | number | おおよその緯度 | -33.8688 |
| longitude | number | おおよその経度 | 151.209 |
| geo_confidence | number | 市区町村の回答に対する信頼度、0 から 1 | 0.8 |
国は確実で、市区町村はおおよそです。 逆引き DNS によるジオロケーションの査読付き研究は、2018 年のデータを用い、2 つの商用データベースで中央値の誤差が 11.1 km と 16.7 km であると測定しました。ほかの根拠は IP ジオロケーションの精度はどれくらいかで扱っています。市区町村はピンではなく半径として扱い、IP を使って人物の所在を特定することは決してしないでください。
geo_confidence は detection.is_anycast と並べて読んでください。 1.1.1.1 はシドニーで 0.8 を返しましたが、同じアドレスが多数の場所から同時に広告されているため is_anycast: true でもあります。エニーキャストのアドレスでは、市区町村は複数ある候補のうちの 1 つにすぎません。
欠落がさらに 2 つ見つかりました。調べた米国の 3 つのアドレス(8.8.8.8、Googlebot の 66.249.66.1、45.33.32.156)はすべて、市区町村が入っているのに timezone が "none" で返りました。必要なときは、ご自身でタイムゾーンを導出してください。そしてプライベートリレーのエグレス 104.28.46.99 はアンゴラのルアンダに置かれましたが、Apple 自身のエグレスリストはその範囲をザンビアのルサカとしています。リレーの場合は、Apple の行から位置を取ってください。その理由はリレー IP と Apple のエグレスリストの照合で説明しています。
4. WHOIS と登録のデータ(whois)
whois グループは、誰がそのブロックをいつ登録したかを示し、5 つの地域インターネットレジストリから RDAP 経由で取得します。ジオロケーションが見逃す所有者情報の層を加えます。
| フィールド | 型 | 分かること | 例(1.1.1.1) |
|---|---|---|---|
| org | string | 登録者の組織 | APNIC and Cloudflare DNS Resolver project |
| country | string | 登録国(geo と異なることがある) | AU |
| netname | string | ネットブロック名 | APNIC-LABS |
| status | string | ブロックの割り当て状況 | ASSIGNED PORTABLE |
| registered | string (ISO 8601) | 登録日(公開されている場合) | 2011-08-11T00:00:00.000Z |
| last_changed | string (ISO 8601) | レジストリのレコードが最後に変更された日時 | 2023-04-26T22:57:58.000Z |
| has_vpn_keywords | boolean | レジストリのテキストが 46 個の VPN キーワードのいずれかに一致 | false |
| has_hosting_keywords | boolean | レジストリのテキストが 27 個のホスティングキーワードのいずれかに一致 | false |
カバレッジはレジストリによって異なります。8.8.8.8 と 45.33.32.156 は、org、netname、status、last_changed が "none" で返り、埋まっていたのは country と registered だけでした。Mullvad サーバーのレコードは充実しており、netname: "NET-31173-185-213-155-0-24"、登録は 2017-07-19、最終変更は 2025-11-11 でした。
キーワードのフラグは補助的な証拠であり、それだけを理由にフラグを立ててはいけません。7 つのアドレスすべてでどちらも false で、レジストリの org が「31173 Services AB infrastructure in Frankfurt, DE.」とあって VPN への言及がない Mullvad サーバーも同じでした。次の節以降にあるプロバイダーのリストが、より重要なのはそのためです。
5. ネットワークの証拠(network)
network グループには、逆引き DNS とレジストリのアブューズ連絡先が含まれます。7 つのフィールドのうち 3 つが、現在はプレースホルダーです。
| フィールド | 型 | 分かること | 例(8.8.8.8) |
|---|---|---|---|
| ptr_record | string | 保存されている逆引き DNS(PTR)のホスト名 | dns.google |
| ptr_pattern | string | PTR ホストの分類。予約済み:値は掲載しない | (表示なし) |
| fcrdns_valid | boolean、または "none" | PTR ホストがこの IP に正引きできるか。PTR が保存されていなければ "none" | true |
| abuse_contact | string | レジストリのレコードにあるアブューズ連絡先アドレス | network-abuse@google.com |
| open_ports | number[] | プレースホルダー:現在は常に [] | [] |
| service | string | プレースホルダー:現在は常に "none" | none |
| cloud_region | string | プレースホルダー:現在は常に "none" | none |
abuse_contact は、不審な活動を報告する必要があるときに使うフィールドで、7 つのアドレスのうち 5 つで値が入っていました。fcrdns_valid は単純な boolean ではありません。保存された PTR がない Tor 出口、Mullvad サーバー、リレーでは、文字列 "none" が返りました。=== false で判定するコードは、このケースを見逃します。
保存された PTR は、確認せずに信用しないでください。 Googlebot の 66.249.66.1 では、保存された ptr_record が隣のアドレスのものでしたが、ライブの dig -x は crawl-66-249-66-1.googlebot.com を返します。8.8.8.8 の値(dns.google)と 1.1.1.1 の値(one.one.one.one)は、同じ朝に dig -x で確認しました。
プローブが応答していても open_ports は空です。 どのルックアップでも [] として書き込まれます。Mullvad サーバーの wireguard_open はプローブの結果ではなく、Mullvad のサーバーリストがそのサーバーを WireGuard とタグ付けしていることを意味する点に注意してください。このフィールドが接続されるまでは、openvpn_open などのプローブ結果は scoring.detection_methods から読み取ってください。
6. VPN、プロキシ、Tor、リレーの検出(detection)
detection グループは、そのアドレスが利用者を匿名化しているか、またどのように匿名化しているかに答えます。23 フィールドで最大のグループで、そのうち 3 つは 7 月以降の新規です。
| フィールド | 型 | 分かること | 例(185.213.155.73、Mullvad) |
|---|---|---|---|
| is_proxy | boolean | 能動的なプローブ中にオープンプロキシとして応答した | false |
| is_vpn | boolean | ハンドシェイク、プロバイダーのリスト、ASN、WHOIS による VPN インフラ | true |
| is_tor | boolean | Tor Project の出口リストに掲載(毎日更新) | false |
| is_hosting | boolean | ホスティングまたはクラウドのインフラ | true |
| is_relay | boolean | プライバシーリレー(VPN とは別に報告) | false |
| is_mobile | boolean | モバイルキャリアのネットワーク | false |
| is_satellite | boolean | 衛星 ISP | false |
| is_anycast | boolean | 多数の場所から広告されている | false |
| is_residential_proxy | boolean | 予約済み:機能として稼働していないので、頼らないでください | (表示なし) |
| is_public_proxy | boolean | 公開リストにあるオープンプロキシ | false |
| is_anonymous | boolean | VPN、プロキシ、Tor のいずれかに該当すれば true | true |
| proxy_type | string | 検出されたプロキシのプロトコル | none |
| anonymity_level | string | none、low、medium、high | medium |
| vpn_provider | string | リストに載っている場合の VPN 運営者名 | Mullvad |
| vpn_provider_tier | string | プロバイダー名から導出されるラベル。これに基づいて構築しないでください | (表示なし) |
| relay_provider | string | リレー運営者名 | none |
| proxy_score | number | プロキシである可能性の 0 から 100 | 0 |
| vpn_confidence | number | 0 から 100。どの命名経路が発火したかも示す | 95 |
| residential_proxy_status | string | 2026 年 10 月に追加。/docs には未掲載。予約済み | (表示なし) |
| residential_proxy_evidence | string | 2026 年 10 月に追加。/docs には未掲載。予約済み | (表示なし) |
| residential_proxy_last_seen | string | 2026 年 10 月に追加。/docs には未掲載。予約済み | (表示なし) |
| residential_proxy_score | number | is_residential_proxy とともに予約済み | (表示なし) |
| last_seen | string (ISO 8601) | 検出が最後に変化した日時 | 2026-10-20T20:17:50.000Z |
vpn_provider は丸で囲んでおくべきフィールドです。 ほとんどの API は IP が「VPN である」とは言えますが、運営者の名前を挙げるにはプロバイダーのリストが必要です。当社は、9 つのプロバイダー自身のサーバーリスト、公開されているサードパーティのリスト、または既知の VPN ネットワークの短い表から VPN を特定し、vpn_confidence はどの経路が発火したかを示します。ここでの 95 は Mullvad 自身のリストを意味します。アドレスがどのリストにも載っていない場合、ハンドシェイクが VPN であることを証明していても、vpn_provider は "none" を返します。その経路は VPN がそれ自身のサーバーリストから特定される仕組みでたどっており、どのアドレスも VPN 検出テストで試せます。
is_relay と relay_provider は対で機能します。 104.28.46.99 は is_relay: true、relay_provider: "iCloud Private Relay"、スコア 9、allow を返しました。API はまた、Cloudflare が公開している WARP の接続範囲(WARP アプリが接続するアドレス)に対して "Cloudflare WARP" を返し、Apple のリストでカバーされないその他の Cloudflare のプライバシー用エグレスに対しては、文書化されていない "Cloudflare" を返します。
is_anonymous はリレーをカバーしません。 /docs では、リレーを含むあらゆる匿名化手段で true になると説明されていますが、リレーのエグレスは anonymity_level: "medium" で is_anonymous: false を返しました。このフラグが追跡するのは VPN、プロキシ、Tor だけなので、is_relay は別に読んでください。
新しい 3 つのレジデンシャルプロキシ関連フィールドは予約済みです。 10 月のバックエンド変更で追加されたもので、まだ文書化されていません。レジデンシャルプロキシの検出は、現時点で当社が提供する機能ではないため、5 つのレジデンシャルプロキシ関連フィールドはすべて予約済みと考え、それに基づくルールは作らないでください。そうしたトラフィックが気になる場合は、IP ルックアップが見えるものと見えないもので説明しています。
7. 脅威とボットのインテリジェンス(threat)
threat グループは、そのアドレスが悪質であると知られているか、あるいは害のないボットとして知られているかを問います。25 フィールドあり、そのうち 7 つがプレースホルダーです。
| フィールド | 型 | 分かること | 例(66.249.66.1、Googlebot) |
|---|---|---|---|
| is_abusive | boolean | 不正利用に特化した脅威フィードに掲載 | false |
| is_bogon | boolean | 未割り当てまたは予約済みの空間 | false |
| is_crawler | boolean | 既知のクローラーまたは AI ボット | true |
| is_spammer | boolean | 既知のスパム送信元 | false |
| is_scanner | boolean | インターネット全体をスキャンする範囲 | false |
| is_botnet | boolean | ボットネットの C2 アドレス(Feodo Tracker のデータ) | false |
| is_cgnat | boolean | キャリアグレード NAT。スコアに上限が設けられる | false |
| threat_types | string[] | 該当するすべての脅威カテゴリ | [] |
| blocklist_count | number | 予約済み:頼らないでください | (表示なし) |
| blocklist_sources | string[] | プレースホルダー:現在は値が入らない | (表示なし) |
| dnsbl_sources | string[] | 3 つの DNS ブロックリストゾーンのうち、どれが掲載しているか | [] |
| crawler.verified | boolean | 運営者の公式 IP 範囲に一致した | true |
| crawler.unverified | boolean | クローラーらしいが、公式の範囲にはない | false |
| crawler.spoofed | boolean | プレースホルダー:データソースがまだない | (表示なし) |
| crawler.name | string | ボット名(ハイフンなしで記述) | Googlebot |
| crawler.operator | string | ボットを運用する者 | |
| crawler.category | string | ボットのカテゴリ | search_engine |
| crawler.verification_method | string | 身元をどう確認したか | ip_range_list |
| botnet.role | string | ボットネットでの役割(判明している場合) | none |
| botnet.family | string | マルウェアファミリー(判明している場合) | none |
| botnet.last_seen | string | プレースホルダー:現在は常に "none" | none |
| honeypot.hits_30d | number | プレースホルダー | (表示なし) |
| honeypot.type | string | プレースホルダー | (表示なし) |
| honeypot.last_hit | string | プレースホルダー | (表示なし) |
| spammer_last_seen | string | プレースホルダー:現在は常に "none" | none |
Tor 出口は、この表の残りの半分を埋めます。is_spammer: true、threat_types: ["spammer", "tor"]、dnsbl_sources: ["zen.spamhaus.org"] です。Mullvad サーバーは threat_types: ["vpn"] を返したので、この配列は匿名化手段のフラグも反映します。
ボットに関する判断が置かれているのは crawler オブジェクトです。 66.249.66.1 について API は、verified: true、name: "Googlebot"、operator: "Google"、verification_method: "ip_range_list" を返しました。10 の運営者による 19 の公式クローラー範囲フィードと照合した結果です。10 月のルックアップで確認したカテゴリは search_engine、ai、fetcher です。名前からはハイフンが落とされるため、Google のユーザー起動型フェッチャーは GoogleUserTriggeredFetcher として返ります。
偽装の検出は、お客様のコードで行います。 API が見るのは IP だけで、User-Agent は見ません。Googlebot を名乗るのに crawler.verified: false が返るリクエストは未検証であり、その比較はお客様の仕事です。その方法は IP によるボット検出と IP、rDNS、CIDR による AI クローラーの検証で示しています。
is_cgnat は、判断を厳しくするのではなく和らげるべきものです。 CGNAT のアドレスは多数の契約者に共有されるため、スコアには上限が設けられており、1 人の悪質な利用者のためにキャリア全体をブロックすべきではありません。このグループの背後にあるフィードについては、脅威インテリジェンスの概要を参照してください。
8. 逆引き DNS(dns)
dns グループは、network にある 3 つの逆引き DNS フィールドを繰り返したもので、rDNS だけが必要なコードは小さなオブジェクト 1 つを読めば済みます。値は、取得したすべてのレスポンスで network のコピーと同一でした。
| フィールド | 型 | 分かること | 例(1.1.1.1) |
|---|---|---|---|
| ptr_record | string | 保存されている PTR のホスト名 | one.one.one.one |
| ptr_pattern | string | 予約済み:値は掲載しない | (表示なし) |
| fcrdns_valid | boolean、または "none" | PTR がこの IP に正引きできる | true |
信頼できるのは fcrdns_valid です。同じ IP に正引きで戻る PTR は、逆引きゾーンを管理する人なら誰でも設定できる PTR の文字列だけよりも、はるかに強い証拠です。5 節と同じ注意が当てはまります。保存された PTR を引用する前に、ライブの dig -x と比べてください。
9. リスクスコアリング(scoring)
scoring グループは、証拠を判断に変えます。4 つのフィールドで、スコアを監査可能にするのは detection_methods です。
| フィールド | 型 | 分かること | 例(185.220.101.1、Tor) |
|---|---|---|---|
| fraud_score | number | 0 から 100 のリスクスコア。高いほど危険 | 100 |
| confidence | number | 判定の根拠となる証拠、0 から 1 | 0.7402500000000001 |
| recommended_action | string | allow、review、step_up、block | block |
| detection_methods | string[] | 発火したシグナルそのもの | tor_exit, datacenter_blocklisted, no_ptr_datacenter, known_spammer |
fraud_score は 36 の重み付けされた理由を組み合わせており、中には減点する理由もあります。Googlebot がその例で、datacenter_ip と verified_crawler の両方が発火し、スコアは 0 になりました。リレーのスコアには上限 60 が設けられているため、リレーが block に達することは決してありません。recommended_action は、スコアを次の区分に対応づけます。
| スコア | recommended_action | 意味 |
|---|---|---|
| 0 から 25 | allow | 意味のあるリスクの証拠はない |
| 26 から 50 | review | いくつかのシグナルが発火。記録して様子を見る |
| 51 から 75 | step_up | 有力な証拠あり。チャレンジを追加する |
| 76 から 100 | block | 複数のシグナルによる強い証拠 |
confidence は文字列ではなく数値として出力してください。浮動小数点の端数をそのまま含んで届きます。このモデルは IP 不正スコアのガイドと、各理由がスコアと信頼度をどう決めるかで説明しており、しきい値をどこに置くかはログイン、サインアップ、決済の IP 不正スコアのしきい値の選び方で扱っています。どのアドレスも IP 不正スコアチェックでスコアを確認できます。
10. メタデータ(meta)
meta グループは、回答の日時を示し、リクエストを識別します。5 つのフィールドのうち 2 つは、名前から連想されるものとは意味が異なります。
| フィールド | 型 | 分かること | 例(104.28.46.99) |
|---|---|---|---|
| last_classified_at | string (ISO 8601) | このレスポンスが作られた日時 | 2026-10-22T04:56:51.010Z |
| last_scanned | string (ISO 8601) | この IP の検出が最後に変化した日時 | 2026-10-20T18:52:36.000Z |
| request_id | string | このルックアップの一意の ID。サポートに連絡するときに引用する | aa25852e-0dc1-4fd6-8780-3b9283d13aba |
| latency_ms | number | サーバー側の処理時間 | 3 |
| sources | string[] | プレースホルダー:現在は常に [] | [] |
last_classified_at は分類した時刻ではなく、レスポンスの時刻です。 7 件のルックアップすべてで、リクエストを送った時刻の約 1 秒以内でした。鮮度の判断には、代わりに last_scanned を使ってください。すべてのレスポンスで detection.last_seen と同じ値を持ち、7 件すべてが 10 月 20 日の日付でした。
範囲の持ち主は入れ替わるので、古い IP データは誤った IP データです。分類が誤っていると思うときに引用するのが request_id です。サーバー側のレイテンシーは、7 件のルックアップで 0 から 3 ミリ秒でした。
他のプロバイダーは同じフィールドをどう呼んでいるか
他の IP データプロバイダーも、異なるフィールド名で重なる領域をカバーしており、より充実したフィールドを上位プランに置いているところもあります。2026 年 10 月 22 日に 3 社の公開ドキュメントを読み、それらのページに書かれていることだけを残しました。
| プロバイダー | ドキュメントに記載のフィールド | ドキュメントの記述 | 最も近い GeoIPHub のフィールド |
|---|---|---|---|
| MaxMind | location.accuracy_radius | 座標を中心とした「おおよその精度半径(キロメートル)」 | geo.geo_confidence(0 から 1。半径なし) |
| MaxMind | traits.user_type | 15 個の値。consumer_privacy_network、content_delivery_network、search_engine_spider を含む | asn.user_type。当社のルックアップでは同じ 3 つの文字列が返った |
| MaxMind | anonymizer オブジェクト | 匿名化手段のフラグを traits から 1 つのオブジェクトに移動。provider_name を含む | detection.vpn_provider |
| IPinfo | vpn、proxy、tor、relay、hosting、service | service は「VPN、プロキシ、匿名化サービスの名前」 | detection.is_* フラグ、vpn_provider、relay_provider |
| IPinfo | プランごとのカバレッジ | Core は is_anonymous と is_hosting のみ。Plus と Max は /anonymous エンドポイントを使用 | すべてのプランですべてのフィールド |
| IPinfo | asn.type | 例として isp、business、hosting、education を挙げている | asn.asn_type |
| IPQualityScore | fraud_score | IP、ユーザーエージェント、言語などの任意の入力から構築。75 以上は疑わしく、90 以上でのフラグ付けまたはブロックを提案 | scoring.fraud_score。IP のみから算出。75 超で block |
| IPQualityScore | is_crawler | ホスト名または IP で検証された、確認済みの検索エンジンのクローラー | threat.crawler.verified。公式の IP 範囲による |
| IPQualityScore | connection_type | Residential、Corporate、Education、Mobile、Data Center | asn.connection_type |
出典:MaxMind GeoIP web services responses、IPinfo privacy detection data、IPinfo ASN data、IPQualityScore proxy detection response parameters。
実務上の注意点が 2 つあります。スコアの尺度は、文書化されたしきい値と並べて初めて意味を持ちます。IPQualityScore の 75 は「疑わしい」ですが、当社の 76 はすでに block です。また、同じ名前のフィールドが別の意味を持つことがあるので、名前ではなく文書化された意味でフィールドを対応づけてください。IP データプロバイダーを選ぶための購入者向けチェックリストは、これをどの API にも試せる短いテストにしています。
判断ごとに重要な IP データフィールド
103 個のフィールドすべてが一度に必要になることはまずありません。判断に合わせてフィールドを選び、プレースホルダーは飛ばしてください。
| ユースケース | 最も重要なフィールド | 注意点 |
|---|---|---|
| ログインや決済での不正チェック | scoring.fraud_score、recommended_action、detection_methods、detection.is_vpn、is_tor、is_proxy | geo だけでハードブロックしない。is_cgnat がスコアに上限を設けるのには理由がある |
| ジオコンプライアンスとライセンス | geo.country_code、geo.region、detection.is_relay | 市区町村はおおよそ。リレーの geo は Apple のリストと食い違うことがある |
| ボットとクローラーの管理 | threat.crawler.verified、crawler.name、crawler.category | 名乗られた User-Agent との比較は自分で行う。crawler.spoofed はプレースホルダー |
| 不正利用の報告と調査 | network.abuse_contact、whois.netname、threat.dnsbl_sources | 保存された PTR は、引用する前に dig で確認する |
| ローカライズ | geo.country_code、geo.timezone | timezone が "none" のことがある。エニーキャスト IP では geo_confidence は目安 |
調査では、どのフィールドを読むかと同じくらい、グループを読む順序が重要です。IP アドレスの調査をステップごとに解説したガイドでは、実際の 3 つの IP を使い、これらのグループを順に用いる 12 のパッシブチェックを説明しています。
構築する前に、自分でフィールドを確認する
フィールドの一覧は変化するので、最も安全な習慣は自分で数えることです。ルックアップを 1 回実行して、リーフのキーを一覧にします。
curl -s https://api.geoiphub.com/v1/lookup/8.8.8.8 \
-H "x-api-key: YOUR_API_KEY" \
| jq 'del(.geo.country_names)
| [paths(type != "object") | select(all(.[]; type == "string"))]
| length + 1'
このフィルターは、各配列を 1 フィールドとして数え、配列の要素は飛ばし、country_names を 1 フィールドとして加え直します。保存した 7 件のレスポンスすべてで 103 が出力されました。数が違う場合は、キーを API リファレンスとこの記事と照らして差分を確認してください。キーなしでテストする場合は、呼び出しの間隔を空けてください。1 分間に 30 回目のキーなしリクエストはすでに 429 を返し、IP が 2 時間ロックアウトされます。
よくある質問
IP アドレスからどんなデータが得られますか?
位置情報よりはるかに多くです。2026 年 10 月 22 日の GeoIPHub のライブルックアップは、10 グループ 103 フィールドを返しました。IP 自体、ネットワーク(ASN、ISP、接続タイプ、RPKI)、おおよそのジオロケーション、WHOIS レジストリデータ、ネットワークの証拠と逆引き DNS、リストに載っている場合はプロバイダー名付きの VPN・プロキシ・Tor・リレーの検出、脅威と検証済みクローラーのシグナル、説明可能な 0 から 100 のリスクスコア、リクエストのメタデータです。そのうち 11 フィールドは、現時点では固定の空の値を返すプレースホルダーです。
IP アドレスから自宅の正確な住所が分かりますか?
いいえ。IP ジオロケーションが推定するのはおおよその地域(せいぜい市区町村や地域)であって、番地や特定の個人ではありません。市区町村レベルの結果は不正確で、モバイル、CGNAT、VPN の接続ではさらに弱くなります。IP だけで番地レベルの精度をうたうのは誇張です。
IP データにおける ASN とは何ですか?
自律システム番号(Autonomous System Number)は、IP アドレスをインターネットに広告しているネットワークを識別します。たとえば 8.8.8.8 は AS15169、GOOGLE - Google LLC を返します。ASN とその組織はグローバルルーティングテーブルに由来するため、物理的な位置の推測とは違い、IP データの中で最も信頼性の高いフィールドの 1 つです。
IP 不正スコアとは何で、どのように計算されますか?
IP 不正スコアは、アドレスがどれだけ危険に見えるかを 0 から 100 の 1 つの数値にまとめたものです。GeoIPHub は 36 の重み付けされた理由を組み合わせ、検証済みクローラーなどの免責の理由を差し引き、発火したメソッドと推奨アクションを返します。25 までは allow、50 までは review、75 までは step_up、75 を超えると block です。2026 年 10 月 22 日に調べた Tor 出口は、4 つのメソッドが挙がってスコア 100 でした。
住宅向け IP とデータセンター IP の違いは何ですか?
住宅向け IP は、個人向け ISP が家庭の回線に割り当てたものです。データセンター(ホスティング)IP は、クラウドやサーバーのプロバイダーのものです。この区別は asn.connection_type と asn.asn_type のフィールドにあります。10 月の 7 件のルックアップでは、Mullvad VPN サーバー、Tor 出口、Googlebot のいずれも connection_type が datacenter で返りました。
すべての IP API プロバイダーは、どのプランでも同じフィールドを返しますか?
いいえ。IPinfo のドキュメントによると、Core プランに含まれるプライバシーフラグは is_anonymous と is_hosting だけで、より詳細なプライバシーフィールドは Plus、Max、カスタム API で提供されます。GeoIPHub は、1 日 1,500 回のルックアップの無料プランを含め、すべてのプランですべてのフィールドを返します。
IP ジオロケーションの精度半径とは何ですか?
精度半径とは、返された座標を中心とした、実際の位置が収まる可能性の高い距離(キロメートル)です。MaxMind は location.accuracy_radius として文書化しています。GeoIPHub は半径を返さず、geo.geo_confidence を返します。0 から 1 の値で、市区町村を特定する十分な証拠がない場合は 0 になります。
GeoIPHub API を支えるチーム
GeoIPHub IP インテリジェンス API とそのスキャナーを開発している GeoIPHub チームが執筆しています。下書きは AI の支援を受けて作成し、チームが編集しています。API の例は、「説明用」と明記したものを除き、本番 API に対する実際のルックアップです。


