IP Detection
Proxy detection API
Whether an IP is a proxy, including residential proxies and Tor exits.
Check for a proxy
Parameters
- ipstringpathRequired
IPv4 or IPv6 address.
Response fields
- ipstring
IP address that was checked.
- isProxyboolean
True for proxies, including residential proxies.
- isTorboolean
True for Tor exit nodes.
- networkClassstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay or unknown.
- anonymizedboolean
True when the network hides the person behind it. Hosting counts, except known infrastructure.
- providerstring | null
Network owner, when known.
- vpnProviderstring | null
VPN service on a vpn address (NordVPN, Mullvad...), when known. Starter and above; null on Free.
- riskScoreinteger
Risk from 0 to 100.
- evidencestring[]
Optional. What the class rests on, such as vpn_server_list, relay_range or known_infra.
- purityobject | null
Score breakdown: score, grade, verdict and deductions. Every plan.
- purity.scoreinteger
Cleanliness score from 0 to 100.
- purity.gradestring
S+, S, A, B or C.
- purity.verdictstring
clean, suspect or dirty.
- purity.deductionsarray
Points taken off the score, each with a reason.
- deductionCountinteger
Locked (Free) responses only: how many deductions the withheld purity holds, nothing else about them.
- lockedstring[]
Dotted paths of the fields sent as null on this plan. Absent on Starter and above.
- planRequiredstring
Plan that includes the locked fields. Absent on Starter and above.
curl https://ipscanner.io/v1/proxy/185.220.101.1 \
-H "Authorization: Bearer YOUR_API_KEY"{
"ip": "185.220.101.1",
"isProxy": true,
"isTor": true,
"networkClass": "tor",
"anonymized": true,
"provider": "Tor Exit Node",
"vpnProvider": null,
"riskScore": 100,
"evidence": [
"tor_exit_list"
]
}