入门
IPScanner API 文档
IP Detection、Agentscan 和 Provenance 的 REST 接口,提供六种语言的 SDK。
基础 URL
https://ipscanner.io/v1
认证
Authorization: Bearer <key>
格式
基于 HTTPS 的 JSON
快速上手
- 1免费创建 API 密钥。
- 2在 Authorization 请求头中发送。
- 3调用接口,或安装 SDK。
curl -X POST https://ipscanner.io/v1/ip/lookup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target":"8.8.8.8"}'无需密钥试用
试试:
参数
- ipstring路径必填
IPv4 或 IPv6 地址。
响应字段
- target.kindstring
ipv4、ipv6、cidr 或 hostname。
- target.ipstring
被检测的地址。主机名则为其解析到的地址。
- reserved.reservedboolean
私有、保留和文档用 IP 段为 true。
- verdict.classificationstring
residential_clean、mobile、hosting、datacenter、vpn、residential_proxy、tor、relay 或 unknown。
- verdict.anonymizedboolean
网络隐藏了背后的用户时为 true。托管网络也算在内,已知基础设施除外。
- verdict.confidencenumber
置信度,范围 0 到 1。
- verdict.methodstring
决定判定结果的信号。
- verdict.evidencestring[]
可选。类别所依据的信号,例如 vpn_server_list、relay_range 或 known_infra。
- purityobject | null
评分明细:score、grade、verdict 与 deductions。所有方案均提供。
- purity.scoreinteger
纯净度分数,0 到 100。
- purity.gradestring
S+、S、A、B 或 C。
- purity.verdictstring
clean、suspect 或 dirty。
- purity.deductionsarray
从分数中扣除的分值,各附原因。
- deductionCountinteger
仅出现在锁定(Free)响应中:被隐藏的纯净度包含的扣分项数量,不含其他细节。
- networkClassstring
residential_clean、mobile、hosting、datacenter、vpn、residential_proxy、tor、relay 或 unknown。
- isVpnboolean
仅 vpn、residential_proxy 和 tor 为 true,hosting 和 relay 始终为 false。
- isProxyboolean
代理(包括住宅代理)为 true。
- isTorboolean
Tor 出口节点为 true。
- providerstring | null
已知时为网络所有者的名称。
- vpnProviderstring | null
vpn 地址所属的 VPN 服务(NordVPN、Mullvad 等),已知时返回。Starter 及以上方案提供,Free 方案为 null。
- riskScoreinteger
风险分数,0 到 100。
- geoobject
结构与 IP 归属地响应相同。
- asnobject
结构与 ASN 查询响应相同。
- whoisobject
主机名目标的 WHOIS 记录。
- degradedstring[]
查询中失败并被省略的部分。
- atstring
查询的时间。
- lockedstring[]
在当前方案下以 null 返回的字段路径(以点分隔)。Starter 及以上方案不返回此字段。
- planRequiredstring
包含被锁定字段的方案。Starter 及以上方案不返回此字段。
curl https://ipscanner.io/v1/demo/185.220.101.1{
"target": {
"raw": "185.220.101.1",
"kind": "ipv4",
"ip": "185.220.101.1"
},
"reserved": {
"reserved": false
},
"verdict": {
"classification": "tor",
"anonymized": true,
"confidence": 0.95,
"method": "tor_set",
"evidence": [
"tor_exit_list"
]
},
"networkClass": "tor",
"isVpn": true,
"isProxy": true,
"isTor": true,
"riskScore": 100,
"asn": {
"ip": "185.220.101.1",
"asn": "AS60729",
"name": "Stiftung Erneuerbare Freiheit",
"type": "unknown",
"country": "DE"
},
"at": "2026-10-08T21:55:08.590700162Z",
"purity": null,
"provider": null,
"vpnProvider": null,
"geo": {
"ip": "185.220.101.1",
"country": "Germany",
"countryCode": "DE",
"city": "Brandenburg",
"region": "Brandenburg",
"timezone": "Europe/Berlin",
"latitude": null,
"longitude": null,
"postalCode": null,
"accuracyRadius": null
},
"locked": [
"purity",
"provider",
"vpnProvider",
"geo.latitude",
"geo.longitude",
"geo.postalCode",
"geo.accuracyRadius"
],
"planRequired": "Starter"
}