入門
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"
}