IPOK

开发者 API

免费、无需鉴权、支持跨域(CORS)。直接 GET 调用即可,返回 JSON。

接口列表

GET/api/ip?ip={ip}

IP 全量检测:归属地、ASN、纯净度/风险值、原生IP、适用场景、AI 可用性等

GET/api/bgp?asn={asn}&ip={ip}

BGP 路由关系:公告前缀、上游/下游 ASN(数据源 RIPEstat)

GET/api/reverse-ip?ip={ip}

IP 反查域名:同 IP 上托管的域名

GET/api/batch?q={ips|cidr}

批量查询:多个 IP / IPv4 CIDR 段一次出归属地、类型与风险值

GET/api/cidr?q={cidr}

段级信誉摘要:离线库实时扫整个 CIDR(≤/16),出 VPN/Tor/滥用占比与连坐判定(零额外请求)

GET/api/badge?ip={ip}

SVG 风险徽章:按分档着色,可直接嵌入 README / 论坛(?label= 自定义左侧文字,?lang=zh|en)

调用示例

# IP 全量检测:归属地、ASN、纯净度/风险值、原生IP、适用场景、AI 可用性等
curl "https://ipok.io/api/ip?ip=1.1.1.1"

# BGP 路由关系:公告前缀、上游/下游 ASN(数据源 RIPEstat)
curl "https://ipok.io/api/bgp?asn=AS13335&ip=1.1.1.1"

# IP 反查域名:同 IP 上托管的域名
curl "https://ipok.io/api/reverse-ip?ip=1.1.1.1"

# 批量查询:多个 IP / IPv4 CIDR 段一次出归属地、类型与风险值
curl "https://ipok.io/api/batch?q=1.1.1.1,8.8.8.8"

# 段级信誉摘要:离线库实时扫整个 CIDR(≤/16),出 VPN/Tor/滥用占比与连坐判定(零额外请求)
curl "https://ipok.io/api/cidr?q=146.70.50.0/24"

# SVG 风险徽章:按分档着色,可直接嵌入 README / 论坛(?label= 自定义左侧文字,?lang=zh|en)
![IP risk](https://ipok.io/api/badge?ip=1.1.1.1)

主要响应字段

{
  "geo":   { "ip", "version", "country", "city", "asn", "asName", "isp", "lat", "lon" },
  "ipType":    "residential | hosting | mobile | business | unknown",
  "usageType": "isp | dual_isp | business | hosting | mobile | education | government | unknown",
  "risk":      0,
  "riskBreakdown": {                       // how the score was computed (see /methodology)
    "contributors": [{ "source", "risk", "weight" }],
    "weightedAvg": 0,
    "floors": [{ "key": "tor", "floor": 90 }],
    "final": 0
  },
  "signals":   ["proxy", "hosting", ...],
  "blocklist": { "listed": ["SpamCop"], "checked": 5 },  // DNSBL hits, IPv4 only
  "anonAsn?":  { "asn", "name", "type" },                // known VPN/proxy provider ASN
  "nativeType": "native | broadcast | unknown",
  "sharedUsers": { "range": "1-5", "quality": "good | ok | poor | unknown" },
  "scenarios":  [{ "key": "tiktok", "stars": 3, "verdict": "try" }],
  "services":   [{ "key": "chatgpt", "status": "available" }],
  "media":      [{ "key": "netflix", "status": "available" }],   // region reference, not a live unlock test
  "sources":    [{ "source": "ip-api", "risk": 10, "flags": {} }],
  "intel?":     { "asn", "company", "datacenter", "abuse" },     // ipapi.is enrichment
  "asnHistory?": [{ "asn", "firstSeen", "lastSeen" }],
  "rdap?":      { "registry", "country", "registered", "org" }   // "?" = optional, omitted when unavailable
}

状态码 / 错误

200成功
400请求参数错误:无效/私有 IP、缺少 ip/asn 等
502上游数据源不可用或超时

限流与缓存

无硬性每-Key 限流;实际受上游免费数据源额度约束(部分接口已带边缘缓存)。高频或商用请自建缓存。错误响应为 { "error": "..." }。

请合理使用;高频或商用请自建缓存,避免对上游数据源造成压力。