
IP2Proxy™ Proxy Detection Web Service
The IP2Proxy™ Proxy Detection Web Service is a hosted Web Service that allows instant detection of anonymous proxy, VPN, TOR exit nodes, search engine robots (SES) and residential proxies (RES) by IP address. It is a REST API supporting both JSON and XML responses and provides IP location lookup information when a proxy is detected.
You can protect your site and web application by filtering detected anonymous proxy, TOR users at first glance.
All successful HTTP or HTTPS requests will return a response code of 200, together with the proxy lookup information. Error code will be returned if an error occurred.
Each unit of package purchase entitles you to 10,000 query credits. If you need more credits, please add multiple units during checkout. Total credits will be the number of units purchased multiplied by 10,000. However, please note that only one unique API key will be given for each user account, even if multiple units are purchased. If you need a different API key, you should sign up using a different email account.
IP2Proxy™ web service is a RESTful API call for anonymous proxy detection. The REST API supports both HTTP GET or HTTPS GET. You can test this REST API easily using a web browser with the below syntax.
api.ip2proxy.com/?ip={IP_ADDRESS}&key={YOUR_API_KEY}&package={PACKAGE}&format={FORMAT}
- No database to download, to install or to upgrade in the server-side
- Supports 4 different types of package queries with a different granularity of data.
- Supports HTTP or HTTPS queries up to 10,000 times or 1 year (whichever comes first)
Name | Description |
---|---|
key | (required) API key. |
ip | (optional) IP address (IPv4 or IPv6) for lookup purpose. If not present, the server IP address will be used for the lookup. |
package |
(optional) If not present, the web service will assume the PX1 package query.
Valid value: PX1 | PX2 | PX3 | PX4 | PX5 | PX6 | PX7 | PX8 | PX9 | PX10 |
format | (optional) If not present, json format will be returned as the search result. Valid value: json | xml |
Field | Description |
---|---|
proxyType | Type of proxy. |
countryCode | Two-character country code based on ISO 3166. |
countryName | Country name based on ISO 3166. |
regionName | Region or state name. |
cityName | City name. |
isp | Internet Service Provider or company's name. |
domain | Internet domain name associated with IP address range. |
usageType | Usage type classification of ISP or company
|
asn | Autonomous system number (ASN). |
as | Autonomous system (AS) name. |
lastSeen | Proxy last seen in days. |
threat | Security threat reported. |
Proxy Type | Description | Anonymity |
---|---|---|
VPN | Anonymizing VPN services. These services offer users a publicly accessible VPN for the purpose of hiding their IP address. | High |
TOR | Tor Exit Nodes. The Tor Project is an open network used by those who wish to maintain anonymity. | High |
DCH | Hosting Provider, Data Center or Content Delivery Network. Since hosting providers and data centers can serve to provide anonymity, the Anonymous IP database flags IP addresses associated with them. | Low |
PUB | Public Proxies. These are services that make connection requests on a user\'s behalf. Proxy server software can be configured by the administrator to listen on some specified port. These differ from VPNs in that the proxies usually have limited functions compare to VPNs. | High |
WEB | Web Proxies. These are web services that make web requests on a user\'s behalf. These differ from VPNs or Public Proxies in that they are simple web-based proxies rather than operating at the IP address and other ports level. | High |
SES | Search Engine Robots. These are services that perform crawling or scraping to a website, such as, the search engine spider or bots engine. | High |
RES | Residential proxies. These services offer users proxy connections through residential ISP with or without consents of peers to share their idle resources.
Only available with PX10
|
High |
You can try out our web service by using the demo key. The demo query limit is 20 per day.
http://api.ip2proxy.com/?ip=8.8.8.8&key=demo&package=PX10
Need more credits? You can sign up for a free trial key that will entitle you to a one time 1,000 free credits to evaluate our services.
Example to check remaining credits:
http://api.ip2proxy.com/?key=demo&check=1
There are 4 packages of proxy detection web services available. Each package returns a different set of IP address information with different amounts of credits deducted for each query.
Package | Information Returned | Credit |
---|---|---|
PX1 |
Country Code, Country Name, Is Proxy | 1 credit |
PX2 |
Country Code, Country Name, Is Proxy, Proxy Type | 2 credits |
PX3 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City | 3 credits |
PX4 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP | 4 credits |
PX5 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain | 5 credits |
PX6 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain, Usage Type | 6 credits |
PX7 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain, Usage Type, ASN | 7 credits |
![]() PX8 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain, Usage Type, ASN, Last Seen | 8 credits |
PX9 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain, Usage Type, ASN, Last Seen, Threat | 9 credits |
PX10 |
Country Code, Country Name, Is Proxy, Proxy Type, Region, City, ISP, Domain, Usage Type, ASN, Last Seen, Threat, Residential | 10 credits |
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.ip2proxy.com/?' . http_build_query([ 'ip' => '8.8.8.8', 'key' => 'YOUR_API_KEY', 'package' => 'PX10', ])); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $response = curl_exec($ch); var_dump($response);
try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10").openStream(), "UTF-8").useDelimiter("\\A")) { System.out.println(s.next()); } catch (java.io.IOException e) { e.printStackTrace(); }
Dim httpClient As New System.Net.Http.HttpClient Dim response As String = Await httpClient.GetStringAsync("https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10") Console.WriteLine($"{response}")
var httpClient = new HttpClient(); var response = await httpClient.GetStringAsync("https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10"); Console.WriteLine($"{response}");
from requests import get response = get('https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10').text print(format(response))
curl -s "https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10"
require "net/http" response = Net::HTTP.get(URI("https://api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10")) puts response
JSON Query
api.ip2proxy.com/?ip=201.42.237.89&key={YOUR_API_KEY}&package=PX10
JSON Result:
{ "response": "OK", "countryCode": "JP", "countryName": "Japan", "regionName": "Tokyo", "cityName": "Tokyo", "isp": "Amazon Technologies Inc.", "domain": "amazon.com", "usageType": "DCH", "asn": "14618", "as": "Amazon.com Inc.", "lastSeen": "20", "proxyType": "DCH", "isProxy": "NO", "threat": "SPAM" }
XML Query:
api.ip2proxy.com/?ip=185.195.4.30&key={YOUR_API_KEY}&format=xml&package=PX10
XML Response:
<result> <response>OK</response> <countryCode>JP</countryCode> <countryName>Japan</countryName> <regionName>Tokyo</regionName> <cityName>Tokyo</cityName> <isp>Japan Network Information Center</isp> <domain>amazon.com</domain> <usageType>DCH</usageType> <asn>14618</asn> <as>Amazon.com Inc.</as> <lastSeen>20</lastSeen> <proxyType>DCH</proxyType> <isProxy>NO</isProxy> <threat>SPAM</threat> </result>