Proxy Detection API
Stop bots hiding behind proxies.
Detect HTTP, SOCKS, datacenter, and residential proxies in real time — with Tor and hosting context in the same response. Block automated abuse before it reaches your application. No sign-up required.
Everything You Need to Detect Proxy Traffic
Coverage across every proxy class — datacenter pools, residential networks, HTTP and SOCKS — with a clean JSON API built for bot defense and fraud teams.
All Proxy Classes
HTTP/HTTPS proxies (transparent, anonymous, elite), SOCKS v4/v5, datacenter pools, and residential proxy networks.
99.5% Detection Accuracy
High-precision classification with under 0.1% false positives — safe to enforce blocking policies on.
Residential Proxy Coverage
The hardest class to catch. Behavioral signals and threat feeds identify proxies hiding behind real consumer IP addresses.
Real-Time Threat Feeds
Proxy pools rotate constantly. Detection data is refreshed continuously from live threat intelligence sources.
Tor & Hosting Context
Separate is_tor_node and is_datacenter flags in the same response distinguish proxy traffic from other anonymization.
Simple JSON API
A single REST endpoint with boolean flags — add proxy blocking to any edge or backend in minutes.
Proxy Detection API Documentation & Code Examples
A single REST endpoint returns the proxy status of any IP address — together with VPN, Tor, datacenter, and geolocation context. Predictable JSON, no SDK required.
GET /api/v1/ip/{ip}?api_key={key}
curl "https://ip-api.io/api/v1/ip/89.187.175.13?api_key=YOUR_API_KEY"
{
"suspicious_factors": {
"is_proxy": true,
"is_vpn": false,
"is_tor_node": false,
"is_datacenter": true,
"is_threat": false
},
"isp": "DataCamp Limited",
"country_code": "US"
}
GET /api/v1/ip/{ip}?api_key={key}
const res = await fetch(
"https://ip-api.io/api/v1/ip/89.187.175.13?api_key=YOUR_API_KEY"
);
const data = await res.json();
if (data.suspicious_factors.is_proxy) {
console.log("Proxy traffic — block or challenge");
}
{
"suspicious_factors": {
"is_proxy": true,
"is_vpn": false,
"is_tor_node": false,
"is_datacenter": true,
"is_threat": false
},
"isp": "DataCamp Limited",
"country_code": "US"
}
GET /api/v1/ip/{ip}?api_key={key}
import requests
res = requests.get(
"https://ip-api.io/api/v1/ip/89.187.175.13",
params={"api_key": "YOUR_API_KEY"}
)
data = res.json()
if data["suspicious_factors"]["is_proxy"]:
print("Proxy traffic — block or challenge")
{
"suspicious_factors": {
"is_proxy": true,
"is_vpn": false,
"is_tor_node": false,
"is_datacenter": true,
"is_threat": false
},
"isp": "DataCamp Limited",
"country_code": "US"
}
GET /api/v1/ip/{ip}?api_key={key}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"https://ip-api.io/api/v1/ip/89.187.175.13?api_key=YOUR_API_KEY");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch));
if ($data->suspicious_factors->is_proxy) {
echo "Proxy traffic — block or challenge";
}
{
"suspicious_factors": {
"is_proxy": true,
"is_vpn": false,
"is_tor_node": false,
"is_datacenter": true,
"is_threat": false
},
"isp": "DataCamp Limited",
"country_code": "US"
}
GET /api/v1/ip/{ip}?api_key={key}
require 'net/http'
require 'json'
uri = URI('https://ip-api.io/api/v1/ip/89.187.175.13')
uri.query = URI.encode_www_form(api_key: 'YOUR_API_KEY')
res = Net::HTTP.start(uri.hostname, use_ssl: true) { |h| h.get(uri) }
data = JSON.parse(res.body)
puts "Proxy!" if data.dig('suspicious_factors', 'is_proxy')
{
"suspicious_factors": {
"is_proxy": true,
"is_vpn": false,
"is_tor_node": false,
"is_datacenter": true,
"is_threat": false
},
"isp": "DataCamp Limited",
"country_code": "US"
}
Built for real-world applications
From bot defense to payment screening — proxy detection that fits your workflow.
Bot & Scraping Defense
Scrapers and credential-stuffing bots rotate through proxy pools to evade rate limits and IP bans. Detect and challenge proxy traffic at the edge before it reaches your application.
Payment Fraud Screening
Carders test stolen cards from behind anonymous proxies to hide their location and identity. Flag proxy connections at checkout as a high-weight signal in your fraud scoring.
Ad & Click Fraud Prevention
Click farms route fake impressions and clicks through proxy networks to look like organic traffic from target regions. Filter proxy IPs from campaigns to protect ad spend and analytics.
Proxy Detection API FAQs
Common questions about detecting proxy servers and proxy networks.
What is a proxy detection API?
A proxy detection API is a web service that tells you whether an IP address is operating as a proxy server — an intermediary that hides the real origin of traffic. Bots, scrapers, and fraudsters route their requests through proxies to disguise their identity and rotate addresses. The API checks the connecting IP in real time and returns an is_proxy boolean your application can use to block, challenge, or flag the request.
What types of proxies can be detected?
Detection covers HTTP and HTTPS proxies (transparent, anonymous, and elite), SOCKS v4/v5 proxies, datacenter proxy pools sold in bulk for automation, and residential proxy services that route traffic through real consumer devices. Residential proxies are the hardest class to catch because they use legitimate household IP addresses — detection relies on behavioral signals and threat intelligence rather than simple IP-range lists.
How is proxy detection different from VPN detection?
Both hide the user's real IP, but they serve different ecosystems. VPNs are consumer privacy products where a person routes all their traffic through one provider. Proxies are usually programmatic — bots, scrapers, sneaker software, and fraud tooling rotating through thousands of addresses. ip-api.io returns separate is_proxy and is_vpn flags in the same response, so you can apply different policies to each: many sites tolerate VPN users but block proxy traffic outright. See the VPN Detection API for the VPN side.
Why should I detect proxy traffic?
Proxy traffic is heavily correlated with automation and fraud: credential-stuffing attacks rotate through proxy pools to evade rate limits, carders test stolen credit cards from behind anonymous proxies, scrapers harvest pricing and content at scale, and click-fraud bots burn ad budgets. Blocking or challenging proxy IPs at the edge stops a large share of this abuse before it reaches your application logic.
Is the proxy checker on this page free?
Yes, the interactive proxy checker on this page is completely free with no sign-up required. API access for developers with higher request volumes requires a paid subscription starting at €10/month.
Simple, transparent pricing
Start small, scale as you grow. No hidden fees.
Block proxy traffic programmatically
Check any IP for proxy, VPN, Tor, and datacenter signals in a single API call — no sign-up required for the free tier.