API Services - Proxy IPs
Returns a 0-5 score on whether the IP address provided is a commonly used proxy.
URL
https://api.proxstop.com/ip.format
Formats
json, xml
HTTP Methods
GET, POST
Request Data
Required |
Variable |
Example |
Info |
Yes |
key |
098f6bcd4621d373cade4e832627b4f6 |
Your unique API key |
Yes |
ip |
123.123.123.123 |
Fully qualified IP address |
No |
ref |
|
A personal note / comment |
Example Request
https://api.proxstop.com/ip.xml?key=098f6bcd4621d373cade4e832627b4f6&ip=123.123.123.123&ref=
Good Response Example
<?xml version="1.0" encoding="UTF-8"?>
<response>
<score>5</score>
</response>
{
"version": "1.0",
"encoding": "UTF-8",
"response": {
"score": 5
}
}
Bad Response Example
<?xml version="1.0" encoding="UTF-8"?>
<failed>
<error_code>INVALID_IP</error_code>
<error_msg>The IP address provided is not valid.</error_msg>
</failed>
{
"version": "1.0",
"encoding": "UTF-8",
"failed": {
"error_code": "INVALID_IP",
"error_msg": "The IP address provided is not valid."
}
}
Simple Programming Example
This uses our PHP5 class which can be downloaded by
clicking here. The downloadable zip archive will also contain more detailed examples with forms.
// Load config & main class
require_once('config.ProxStop.php');
// Perform Lookup
$ip = '123.123.123.123'; // Fully qualified IP address
$ref = ''; // A personal note / comment
$result = $ProxStop->proxyLookup($ip,$ref);
// The lookup failed, print the error message.
if($result===false)
{
echo 'The lookup failed with the error "'.$ProxStop->errors['code'].': '.$ProxStop->errors['msg'].'"';
}
// The IP is a proxy
else if((int)$result->score>1)
{
echo 'The IP is a known proxy.';
}
// The IP is safe
else
{
echo 'The IP is safe.';
}
$apiUrl = 'https://api.proxstop.com/ip.xml';
$apiKey = '098f6bcd4621d373cade4e832627b4f6'; // Replace with your API key
$ip = '123.123.123.123'; // Fully qualified IP address
$ref = ''; // A personal note / comment
$result = file_get_contents($apiUrl.'?key='.$apiKey.'&ip='.$ip.'&ref='.$ref);
$result = simplexml_load_string($result);
if(isset($result->error_code))
{
echo 'The lookup failed with the error "'.$result->error_code.': '.$result->error_msg.'"';
}
else if(!isset($result->score))
{
echo 'The service seems to be temporarily unavailable.';
}
else if((string)$result->score>1)
{
// Do what you need here
echo 'The IP is a known proxy.';
}
else
{
// Do what you need here
echo 'The IP is safe.';
}
string apiUrl = "https://api.proxstop.com/ip.xml";
string apiKey = "098f6bcd4621d373cade4e832627b4f6"; // Replace with your API key
string varIp = "123.123.123.123"; // Fully qualified IP address
string varRef = ""; // A personal note / comment
string results = new System.Net.WebClient().DownloadString(apiUrl+"?key="+apiKey+"&ip="+varIp+"&ref="+varRef);
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(results);
if(doc.SelectSingleNode("//failed/error_code")!=null)
{
Response.Write("The lookup failed with the error \""+doc.SelectSingleNode("//failed/error_code/text()").Value+": "+doc.SelectSingleNode("//failed/error_msg/text()").Value+"\"");
}
else if(doc.SelectSingleNode("//response/score")==null)
{
Response.Write("The service seems to be temporarily unavailable.");
}
else if(Convert.ToInt32(doc.SelectSingleNode("//response/score/text()").Value)>1)
{
// Do what you need here
Response.Write("The IP is a known proxy.");
}
else
{
// Do what you need here
Response.Write("The IP is safe.");
}
require 'net/http'
require 'rexml/document'
apiUrl = 'https://api.proxstop.com/ip.xml'
apiKey = '098f6bcd4621d373cade4e832627b4f6' #Replace with your API key
ip = '123.123.123.123' #Fully qualified IP address
ref = '' #A personal note / comment
xml_data = Net::HTTP.get_response(URI.parse(apiUrl+'?key='+apiKey+'&ip='+ip+'&ref='+ref)).body
doc = REXML::Document.new(xml_data)
if doc.elements['failed/error_code']
print 'The lookup failed with the error '+doc.elements['failed/error_code'].text+': '+doc.elements['failed/error_msg'].text
elsif !doc.elements['response/score']
print 'The service seems to be temporarily unavailable.'
elsif doc.elements['response/score'].text.to_i>1
#Do what you need here
print 'The IP is a known proxy.'
else
#Do what you need here
print 'The IP is safe.'
end
from urllib.request import urlopen
from xml.dom import minidom
apiUrl = 'https://api.proxstop.com/ip.xml'
apiKey = '098f6bcd4621d373cade4e832627b4f6' #Replace with your API key
ip = '123.123.123.123' #Fully qualified IP address
ref = '' #A personal note / comment
dom = minidom.parse(urlopen(apiUrl+'?key='+apiKey+'&ip='+ip+'&ref='+ref))
if (dom.getElementsByTagName('error_code')):
print (dom.getElementsByTagName('error_code')[0].firstChild.data+': '+dom.getElementsByTagName('error_msg')[0].firstChild.data)
elif not (dom.getElementsByTagName('response')):
print ('The service seems to be temporarily unavailable.')
elif (int(dom.getElementsByTagName('score')[0].firstChild.data)>1):
#Do what you need here
print ('The IP is a known proxy.')
else:
#Do what you need here
print ('The IP is safe.')
const http = require('http');
var apiHost = 'api.proxstop.com';
var apiPath = '/ip.json';
var apiKey = '098f6bcd4621d373cade4e832627b4f6'; //Replace with your API key
var varIp = '123.123.123.123'; //Fully qualified IP address
var varRef = ''; //A personal note / comment
http.get({host:apiHost,port:80,path:apiPath+'?key='+apiKey+'&ip='+varIp+'&ref='+varRef,agent:false},function(res){
res.setEncoding('utf8');
res.on('data',function(chunk){
var json = JSON.parse(chunk);
if(json.failed!=undefined) {
console.log(json.failed.error_code+': '+json.failed.error_msg);
} else if(json.response==undefined) {
console.log('The service seems to be temporarily unavailable.');
} else if(json.response.score>1) {
//Do what you need here
console.log('The IP is a known proxy.');
} else {
//Do what you need here
console.log('The IP is safe.');
}
});
});
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
public class ProxStop {
public static void main(String[] args) {
String apiUrl = "https://api.proxstop.com/ip.xml";
String apiKey = "098f6bcd4621d373cade4e832627b4f6"; //Replace with your API key
String varIp = "123.123.123.123"; //Fully qualified IP address
String varRef = ""; //A personal note / comment
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Element docEle = dBuilder.parse(apiUrl+"?key="+apiKey+"&ip="+varIp+"&ref="+varRef).getDocumentElement();
if (docEle.getNodeName()=="failed") {
System.out.println(docEle.getElementsByTagName("error_code").item(0).getChildNodes().item(0).getNodeValue()+": "+docEle.getElementsByTagName("error_msg").item(0).getChildNodes().item(0).getNodeValue());
} else if (docEle.getNodeName()!="response") {
System.out.println("The service seems to be temporarily unavailable.");
} else if(Integer.parseInt(docEle.getElementsByTagName("score").item(0).getChildNodes().item(0).getNodeValue())>1) {
//Do what you need here
System.out.println("The IP is a known proxy.");
} else {
//Do what you need here
System.out.println("The IP is safe.");
}
} catch (SAXParseException err) {
} catch (SAXException e) {
} catch (Throwable t) {
}
}
}
Price
1 Point per query