FraudGuard.io API Docs
Get Specific IP Reputation v1
This API endpoint retrieves IP reputation data for a specific IP. It is less accurate and far less detailed but is free forever.
Note: This is the only API endpoint included in the Free Hacker Plan for up to the first 1000 API requests per month. After 1000 requests per month an upgrade to the Starter plan is required. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/ip/1.221.157.205"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/ip/1.221.157.205','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/ip/1.221.157.205', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/ip/1.221.157.205',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/ip/1.221.157.205';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/ip/1.221.157.205' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "KR",
"country": "Republic of Korea",
"state": "Seoul",
"city": "Seoul",
"discover_date": "2018-12-11 07:00:45",
"threat": "honeypot_tracker",
"risk_level": "5"
}
HTTP Request
GET https://api.fraudguard.io/ip/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific IP Reputation v2
This API endpoint retrieves IP reputation data for a specific IP. It is vastly more accurate and detailed but requires a paid plan.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Starter Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v2/ip/12.167.53.202"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/v2/ip/12.167.53.202','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/v2/ip/12.167.53.202', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v2/ip/12.167.53.202',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v2/ip/12.167.53.202';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v2/ip/12.167.53.202' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "US",
"country": "United States",
"state_code": "CA",
"state": "California",
"city": "Pomona",
"postal_code": "91768",
"latitude": 34.0662,
"longitude": -117.7763,
"timezone": "America/Los_Angeles",
"connection_type": "Corporate",
"asn": 7018,
"asn_organization": "AT&T Services, Inc.",
"isp": "AT&T Services",
"organization": "AT&T Services",
"discover_date": "2018-12-13 03:03:15",
"threat": "abuse_tracker",
"risk_level": "4"
}
HTTP Request
GET https://api.fraudguard.io/v2/ip/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific IP v2 Geographic, ISP and Organizational Lookup Only
This API endpoint retrieves Geographic, ISP and Organizational data for a specific IP. It is vastly more accurate and detailed but requires a paid plan. If only this data is required for your use case then please leverage this endpoint as it's substantially faster than pulling IP reputation data as well.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Starter Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v2/ip/geolookup/23.235.13.99"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/v2/ip/geolookup/23.235.13.99','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/v2/ip/geolookup/23.235.13.99', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v2/ip/geolookup/23.235.13.99',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v2/ip/geolookup/23.235.13.99';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v2/ip/geolookup/23.235.13.99' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "US",
"country": "United States",
"state_code": "MN",
"state": "Minnesota",
"city": "Winona",
"postal_code": "55987",
"latitude": 44.03,
"longitude": -91.7009,
"timezone": "America/Chicago",
"connection_type": "Cable/DSL",
"asn": 14828,
"asn_organization": "Hiawatha Broadband Communications, Inc",
"isp": "Hiawatha Broadband Communications",
"organization": "Hiawatha Broadband Communications"
}
HTTP Request
GET https://api.fraudguard.io/v2/ip/geolookup/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific Hostname Reputation v2
This API endpoint retrieves IP reputation data for a specific Hostname. It is vastly more accurate and detailed but requires a paid plan.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Starter Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v2/hostname/fraudguard.io"
require 'net/http'
require 'net/https'
def get_hostname(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_hostname('api.fraudguard.io','/v2/hostname/fraudguard.io','username','password')
import requests
from requests.auth import HTTPBasicAuth
hostname=requests.get('https://api.fraudguard.io/v2/hostname/fraudguard.io', verify=True, auth=HTTPBasicAuth('username', 'password'))
print hostname.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v2/hostname/12.167.53.202',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v2/hostname/fraudguard.io';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v2/hostname/fraudguard.io' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode":"US",
"country":"United States",
"state_code":"MD",
"state":"Maryland",
"city":"Chestertown",
"postal_code":"21620",
"latitude":39.2125,
"longitude":-76.0802,
"timezone":"America/New_York",
"connection_type":"Corporate",
"asn":29802,
"asn_organization":"HIVELOCITY VENTURES CORP",
"isp":"NOC4Hosts",
"organization":"Hivelocity Ventures Corp",
"discover_date":"2020-06-02 03:35:23",
"threat":"unknown",
"risk_level":"1"
}
HTTP Request
GET https://api.fraudguard.io/v2/hostname/<hostname>
URL Parameters
Parameter | Description |
---|---|
Hostname | Any hostname |
Get Specific IP Reputation v3 by Threat
This API endpoint retrieves all IP reputation data for a specific IP and returns all threat data stored by threat type.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Starter Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@worker.fraudguard.io/v3/ip-all-threats/89.248.165.0"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('worker.fraudguard.io','/v3/ip-all-threats/89.248.165.0','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://worker.fraudguard.io/v3/ip-all-threats/89.248.165.0', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'worker.fraudguard.io',
port: 443,
path: '/v3/ip-all-threats/89.248.165.0',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@worker.fraudguard.io/v3/ip-all-threats/89.248.165.0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://worker.fraudguard.io/v3/ip-all-threats/89.248.165.0' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "NL",
"country": "Netherlands",
"state_code": "NH",
"state": "North Holland",
"city": "Amsterdam",
"postal_code": "1012",
"latitude": 52.3759,
"longitude": 4.8975,
"timezone": "Europe/Amsterdam",
"connection_type": "Corporate",
"asn": 202425,
"asn_organization": "IP Volume inc",
"isp": "IP Volume inc",
"organization": "IP Volume inc",
"anonymous_tracker": {
"listed": false,
"discover_date": "2024-04-23 01:49:38"
},
"botnet_tracker": {
"listed": true,
"discover_date": "2024-04-22 03:00:23"
},
"honeypot_tracker": {
"listed": false,
"discover_date": "2024-04-23 01:49:38"
},
"abuse_tracker": {
"listed": false,
"discover_date": "2024-04-23 01:49:38"
},
"spam_tracker": {
"listed": false,
"discover_date": "2024-04-23 01:49:38"
}
}
HTTP Request
GET https://worker.fraudguard.io/v3/ip-all-threats/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific IP Reputation v4
This API endpoint retrieves IP reputation data for a specific IP, nearly identical to IP Reputation v2 API. The only difference is it provides context around blacklists/whitelists in the response.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v4/ip/92.42.8.20"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/v4/ip/92.42.8.20','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/v4/ip/92.42.8.20', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v4/ip/92.42.8.20',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v4/ip/92.42.8.20';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v4/ip/92.42.8.20' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "RU",
"country": "Russia",
"state_code": "STA",
"state": "Stavropol Kray",
"city": "Pyatigorsk",
"postal_code": "357500",
"latitude": 44.0562,
"longitude": 43.0707,
"timezone": "Europe/Moscow",
"connection_type": "Cable/DSL",
"asn": 44963,
"asn_organization": "Stavtelecom LLC",
"isp": "Stavtelecom LLC",
"organization": "Stavtelecom LLC",
"discover_date": "2024-11-12 23:37:45",
"threat": "anonymous_tracker",
"risk_level": "3",
"ip_in_whitelist": "false",
"ip_in_blacklist": "true"
}
HTTP Request
GET https://api.fraudguard.io/v4/ip/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific IP Reputation v5
This API endpoint retrieves IP reputation data for a specific IP, nearly identical to IP Reputation v4 API. The only difference is it provides context around blacklists/whitelists and geolocation blocking in the response.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v5/ip/1.52.122.126"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/v5/ip/1.52.122.126','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/v5/ip/1.52.122.126', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v5/ip/1.52.122.126',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v5/ip/1.52.122.126';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v5/ip/1.52.122.126' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "VN",
"country": "Vietnam",
"state_code": "HN",
"state": "Hanoi",
"city": "Hanoi",
"postal_code": "unknown",
"latitude": 21.0292,
"longitude": 105.8526,
"timezone": "Asia/Bangkok",
"connection_type": "Cable/DSL",
"asn": 18403,
"asn_organization": "The Corporation for Financing & Promoting Technology",
"isp": "FPT Telecom",
"organization": "FPT Telecom",
"ip_in_whitelist": "false",
"ip_in_blacklist": "true",
"ip_in_geoblock": "true",
"discover_date": "2024-11-13 04:00:08",
"threat": "honeypot_tracker",
"risk_level": "5"
}
HTTP Request
GET https://api.fraudguard.io/v5/ip/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Get Specific IP Reputation v5 by Threat
This API endpoint retrieves all IP reputation data for a specific IP and returns all threat data stored by threat type. The only difference is it provides context around blacklists/whitelists and geolocation blocking in the response.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/v5/ip-all-threats/1.52.122.126"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/v5/ip-all-threats/1.52.122.126','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/v5/ip-all-threats/1.52.122.126', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/v5/ip-all-threats/1.52.122.126',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/v5/ip-all-threats/1.52.122.126';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/v5/ip-all-threats/1.52.122.126' -Headers $Headers
The above command returns JSON structured like this:
{
"isocode": "VN",
"country": "Vietnam",
"state_code": "HN",
"state": "Hanoi",
"city": "Hanoi",
"postal_code": "unknown",
"latitude": 21.0292,
"longitude": 105.8526,
"timezone": "Asia/Bangkok",
"connection_type": "Cable/DSL",
"asn": 18403,
"asn_organization": "The Corporation for Financing & Promoting Technology",
"isp": "FPT Telecom",
"organization": "FPT Telecom",
"ip_in_whitelist": "false",
"ip_in_blacklist": "true",
"ip_in_geoblock": "true",
"anonymous_tracker": {
"listed": false,
"discover_date": "2024-11-13 04:34:49"
},
"botnet_tracker": {
"listed": false,
"discover_date": "2024-11-13 04:34:49"
},
"honeypot_tracker": {
"listed": true,
"discover_date": "2024-11-13 04:00:08"
},
"abuse_tracker": {
"listed": false,
"discover_date": "2024-11-13 04:34:49"
},
"spam_tracker": {
"listed": false,
"discover_date": "2024-11-13 04:34:49"
}
}
HTTP Request
GET https://api.fraudguard.io/v5/ip-all-threats/<IP>
URL Parameters
Parameter | Description |
---|---|
IP | Any IPv4 or IPv6 address |
Bulk IP Lookup
This API endpoint allows you to search the FraudGuard.io attack correlation engine with up to 1024 IPs or a CIDR block of /22 or smaller.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X POST -u "username:password" "https://api.fraudguard.io/api/bulk_lookup" -d '["1.20.97.181", "82.25.3.7"]'
require 'net/http'
require 'net/https'
def post_ip(server,path,username,password)
body = '["1.20.97.181", "82.25.3.7"]'
http = Net::HTTP.new(server,443)
req = Net::HTTP::Post.new(path)
http.use_ssl = true
req.basic_auth username, password
req.body = body
response = http.request(req)
return response.body
end
puts post_ip('api.fraudguard.io','/api/bulk_lookup','username','password')
import requests
from requests.auth import HTTPBasicAuth
data = '["1.20.97.181", "82.25.3.7"]'
ip=requests.post('https://api.fraudguard.io/api/bulk_lookup', data=data, verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var username = 'username';
var password = 'password';
var auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64');
const querystring = require('querystring');
const https = require('https');
const data = '["1.20.97.181", "82.25.3.7"]';
var options = {
hostname: "api.fraudguard.io",
port: 443,
path: '/api/bulk_lookup',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': auth,
'Content-Length': data.length
}
};
var req = https.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.write(data);
req.end();
<?php
$username = 'username';
$password = 'password';
$jsondata = '["1.20.97.181", "82.25.3.7"]';
$url = 'https://@api.fraudguard.io/api/bulk_lookup';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsondata);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
$body = @'
'["1.20.97.181", "82.25.3.7"]'
'@
Invoke-WebRequest -Uri 'https://api.fraudguard.io/api/bulk_lookup' -Headers $Headers -Method Post -Body $body
The above command needs to POST a JSON body example like this:
["1.20.97.181", "82.25.3.7"]
The above command returns JSON structured like this:
[{
"ip": "1.20.97.181",
"isocode": "TH",
"country": "Thailand",
"state_code": "unknown",
"state": "unknown",
"city": "unknown",
"postal_code": "unknown",
"latitude": 13.75,
"longitude": 100.4667,
"timezone": "Asia/Bangkok",
"connection_type": "Cellular",
"asn": 23969,
"asn_organization": "TOT Public Company Limited",
"isp": "TOT Mobile Co",
"organization": "TOT",
"discover_date": "2020-02-22 03:00:11",
"risk_level": 4,
"threat": "abuse_tracker"
},
{
"ip": "82.25.3.7",
"isocode": "GB",
"country": "United Kingdom",
"state_code": "ENG",
"state": "England",
"city": "Stoke Newington",
"postal_code": "N16",
"latitude": 51.5625,
"longitude": -0.074,
"timezone": "Europe/London",
"connection_type": "Cable/DSL",
"asn": 5089,
"asn_organization": "Virgin Media Limited",
"isp": "Virgin Media",
"organization": "Virgin Media",
"discover_date": "2020-02-24 01:45:05",
"risk_level": 1,
"threat": "unknown"
}]
POST Body Example (JSON)
HTTP Request
POST https://api.fraudguard.io/api/bulk_lookup
Get Custom Blacklist
This API retrieves your custom blacklisted IPs using the GET endpoint, returning a JSON list of entries. This endpoint is designed to help customers audit recent blocks or identify trends in blocked traffic. Manual updates can always be managed at Blacklist
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/blacklist/0"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/blacklist/0','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/blacklist/0', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/blacklist/0',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/blacklist/0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/blacklist/0' -Headers $Headers
The above command returns JSON structured like this:
[
"52.36.72.37",
"144.24.162.232",
"166.13.138.114",
"150.44.117.213",
"51.27.12.0/24",
"71.157.88.0/24"
]
HTTP Request
GET https://api.fraudguard.io/blacklist/<offset>
URL Parameters
Parameter | Description |
---|---|
Offset | Your count offset for retrieving bulk IP info |
Get Custom Whitelist
This API retrieves your custom whitelist via the GET endpoint. This endpoint returns a JSON list and enables quick access to trusted IPs for reviews and audits of whitelisted entries. Manual updates can always be managed at Whitelist
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/whitelist/0"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/whitelist/0','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/whitelist/0', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/whitelist/0',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/whitelist/0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/whitelist/0' -Headers $Headers
The above command returns JSON structured like this:
[
"4.55.39.206",
"149.254.117.146",
"29.99.253.192",
"240.183.218.206",
"51.27.12.0/24",
"71.157.88.0/24"
]
HTTP Request
GET https://api.fraudguard.io/whitelist/<offset>
URL Parameters
Parameter | Description |
---|---|
Offset | Your count offset for retrieving bulk IP info |
Get Custom GeoBlock
This API endpoint allows users to retrieve the list of IP ranges currently blocked based on their custom geoblocking settings. This feature enables users to enforce location-based access restrictions tailored to their specific security needs.
For users who prefer manual management, geoblocking settings can also be adjusted via the GeoControl page in the web app. This page provides an easy-to-navigate list of countries, allowing users to select regions to block directly, with the API reflecting these changes in real-time.
This API can be highly useful in the following scenarios:
• Automated Security Management: Integrate the API into security systems to automatically retrieve and apply geoblocking configurations across platforms, ensuring consistent access control enforcement.
• Compliance Monitoring: Use the API to verify that geoblocking settings meet specific compliance requirements, simplifying the process of audits and adherence to regional regulations.
• Dynamic Access Control: Implement the API within applications that adapt access restrictions based on threat intelligence, providing a responsive approach to new and evolving security risks.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/geoblock"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/geoblock','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/geoblock', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/geoblock',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/geoblock';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/geoblock' -Headers $Headers
The above command returns JSON structured like this:
[
"24.51.64.0/18",
"24.206.0.0/19",
"24.231.32.0/19"
"64.66.0.0/20",
"64.150.192.0/18"
]
HTTP Request
GET https://api.fraudguard.io/geoblock
Post to Custom Blacklist
This API endpoint adds to your custom blacklist built in FraudGuard.io
Use this POST endpoint to add individual IPs to the blacklist. This feature is ideal for blocking IPs associated with suspicious or malicious activity and is always account-specific, ensuring that these IPs are never shared outside the owner’s account. To add an IP, send a JSON payload with the IP address. Blacklisting IPs via the API allows automated, responsive blocking, while manual updates can be managed at Blacklist.”
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
Note: At this time we do not support entering IP ranges or CIDR notation
curl -X POST -u "username:password" "https://@api.fraudguard.io/blacklist"
require 'net/http'
require 'net/https'
def post_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Post.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts post_ip('api.fraudguard.io','/blacklist','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.post('https://api.fraudguard.io/blacklist', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/blacklist',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.post(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/blacklist';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/blacklist' -Headers $Headers
The above command needs to POST a JSON body example like this:
[
"33.204.31.152",
"22.138.235.67",
"24.51.147.29",
"21.10.48.57",
"35.0.177.190"
]
The above command returns JSON structured like this:
{
"deleted": 0,
"inserted": 5,
"errors": 0
}
POST Body Example (JSON)
HTTP Request
POST https://api.fraudguard.io/blacklist
Post to Custom Whitelist
This API endpoint adds to your custom whitelist built in FraudGuard.io
The POST endpoint adds individual IPs to the whitelist, ensuring trusted access from specific addresses and is always account-specific, ensuring that whitelisted IPs are never shared outside the owner’s account. Whitelisting is recommended for reliable access from internal networks, frequent users, or other known IPs, helping prevent unintentional blocking. You can whitelist programmatically through the API or manually on the Whitelist page.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
Note: At this time we do not support entering IP ranges or CIDR notation
curl -X POST -u "username:password" "https://@api.fraudguard.io/whitelist"
require 'net/http'
require 'net/https'
def post_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Post.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts post_ip('api.fraudguard.io','/whitelist','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.post('https://api.fraudguard.io/whitelist', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/whitelist',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.post(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/whitelist';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/whitelist' -Headers $Headers
The above command needs to POST a JSON body example like this:
[
"33.204.31.152",
"22.138.235.67",
"24.51.147.29",
"21.10.48.57",
"35.0.177.190"
]
The above command returns JSON structured like this:
{
"deleted": 0,
"inserted": 5,
"errors": 0
}
POST Body Example (JSON)
HTTP Request
POST https://api.fraudguard.io/whitelist
Delete from Custom Blacklist
This API endpoint deletes from your custom blacklist built in FraudGuard.io This is useful for unblocking an IP if it’s deemed safe after further review. Blacklist entries can also be managed manually on the Blacklist page.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X DELETE -u "username:password" "https://@api.fraudguard.io/blacklist"
require 'net/http'
require 'net/https'
def delete_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Delete.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts delete_ip('api.fraudguard.io','/blacklist','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.delete('https://api.fraudguard.io/blacklist', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/blacklist',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.delete(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/blacklist';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, DELETE);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/blacklist' -Headers $Headers
The above command needs to include a JSON body example like this:
[
"33.204.31.152",
"22.138.235.67",
"24.51.147.29",
"21.10.48.57",
"35.0.177.190"
]
The above command returns JSON structured like this:
{
"deleted": 5,
"inserted": 0,
"errors": 0
}
DELETE Body Example (JSON)
HTTP Request
DELETE https://api.fraudguard.io/blacklist
Delete from Custom Whitelist
This API removes an IP from the whitelist. This is helpful if an IP is no longer considered trusted and should be restricted. For easy manual adjustments, whitelist entries can also be managed on the Whitelist page.
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Professional Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X DELETE -u "username:password" "https://@api.fraudguard.io/whitelist"
require 'net/http'
require 'net/https'
def delete_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Delete.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts delete_ip('api.fraudguard.io','/whitelist','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.delete('https://api.fraudguard.io/whitelist', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/whitelist',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.delete(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/whitelist';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, DELETE);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/whitelist' -Headers $Headers
The above command needs to include a JSON body example like this:
[
"33.204.31.152",
"22.138.235.67",
"24.51.147.29",
"21.10.48.57",
"35.0.177.190"
]
The above command returns JSON structured like this:
{
"deleted": 5,
"inserted": 0,
"errors": 0
}
DELETE Body Example (JSON)
HTTP Request
DELETE https://api.fraudguard.io/whitelist
Get User History
This API retrieves the most recent access event for a specified user, providing insights into location, device, and security recommendations.
For more information check out our integration guide here
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/api/v1/user-history/<user_id>"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/api/v1/user-history/<user_id>','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/api/v1/user-history/<user_id>', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/api/v1/user-history/<user_id>',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/api/v1/user-history/<user_id>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/api/v1/user-history/<user_id>' -Headers $Headers
The above command returns JSON structured like this:
{
"user_id": "LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM",
"ip": "125.12.194.229",
"city": "Tokyo",
"country": "Japan",
"timestamp": "2024-11-14 03:53:25",
"user_agent": "Mozilla/5.0 ... Chrome/84.0.4280.85 Safari/537.36",
"recommendation": {
"action": "Challenge",
"reason": "New Device"
}
}
HTTP Request
GET https://api.fraudguard.io/api/v1/user-history/<user_id>
URL Parameters
Parameter | Description |
---|---|
user_id | Identifier for the user whose most recent activity is being retrieved. |
Get User History List
This API retrieves the full (last 100 events) history of access events for a specific user, useful for auditing and identifying patterns over time.
For more information check out our integration guide here
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@api.fraudguard.io/api/v1/list/user-history/<user_id>"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('api.fraudguard.io','/api/v1/user-history/list/<user_id>','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://api.fraudguard.io/api/v1/user-history/list/<user_id>', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'api.fraudguard.io',
port: 443,
path: '/api/v1/user-history/list/<user_id>',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@api.fraudguard.io/api/v1/user-history/list/<user_id>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://api.fraudguard.io/api/v1/user-history/list/<user_id>' -Headers $Headers
The above command returns JSON structured like this:
{
"user_id": "LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM",
"user_history": [
{
"ip": "125.12.194.229",
"city": "Tokyo",
"country": "Japan",
"user_agent": "Mozilla/5.0 ... Chrome/84.0.4280.85 Safari/537.36",
"timestamp": "2024-11-14 03:53:25",
"recommendation": {
"action": "Challenge",
"reason": "New Device"
}
},
{
"ip": "1.162.194.229",
"city": "New Taipei",
"country": "Taiwan",
"user_agent": "Mozilla/5.0 ... Chrome/87.0.4280.85 Safari/537.36",
"timestamp": "2024-11-14 03:49:59",
"recommendation": {
"action": "Block",
"reason": "Bad IP Reputation"
}
}
]
}
HTTP Request
GET https://api.fraudguard.io/api/v1/user-history/list/<user_id>
URL Parameters
Parameter | Description |
---|---|
user_id | Identifier for the user whose most recent activity is being retrieved. |
Post User History Check
This API endpoint logs a new access event with details including IP, location, and user-agent. An optional user_id can be provided to associate the event with a specific user; if omitted, a new GUID is generated.
For more information check out our integration guide here
Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.
Note: This API is only included in the FraudGuard.io Business Plan or above. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X POST -u "username:password" "https://api.fraudguard.io/api/v1/user-history/check" -d '{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}'
require 'net/http'
require 'net/https'
def post_ip(server,path,username,password)
body = '{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}'
http = Net::HTTP.new(server,443)
req = Net::HTTP::Post.new(path)
http.use_ssl = true
req.basic_auth username, password
req.body = body
response = http.request(req)
return response.body
end
puts post_ip('api.fraudguard.io','/api/v1/user-history/check','username','password')
import requests
from requests.auth import HTTPBasicAuth
data = '{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}'
ip=requests.post('https://api.fraudguard.io/api/v1/user-history/check', data=data, verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var username = 'username';
var password = 'password';
var auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64');
const querystring = require('querystring');
const https = require('https');
const data = '{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}';
var options = {
hostname: "api.fraudguard.io",
port: 443,
path: '/api/v1/user-history/check',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': auth,
'Content-Length': data.length
}
};
var req = https.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.write(data);
req.end();
<?php
$username = 'username';
$password = 'password';
$jsondata = '{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}';
$url = 'https://@api.fraudguard.io/api/v1/user-history/check';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsondata);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
$body = @'
'{"user_id":"LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM","ip":"125.12.194.229","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"}'
'@
Invoke-WebRequest -Uri 'https://api.fraudguard.io/api/v1/user-history/check' -Headers $Headers -Method Post -Body $body
The above command needs to POST a JSON body example like this:
{
"user_id": "LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM",
"ip": "125.12.194.229",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36"
}
The above command returns JSON structured like this:
{
"user_id": "LZsuJGwxV5y7sTF5yFvvFA1LRuH1gVvM",
"ip": "125.12.194.229",
"city": "Tokyo",
"country": "Japan",
"timestamp": "2024-11-14 03:53:25",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4280.85 Safari/537.36",
"recommendation": {
"action": "Challenge",
"reason": "New Device"
}
}
POST Body Example (JSON)
HTTP Request
POST https://api.fraudguard.io/api/v1/user-history/check
Raw IP Lists by Risk
This API endpoint returns raw IP address lists direct from the FraudGuard.io attack correlation engine by risk level. This dataset is very dynamic and changes constantly.
Note: This API is only included in the FraudGuard.io Enterprise plan. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('worker.fraudguard.io','/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'worker.fraudguard.io',
port: 443,
path: '/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false' -Headers $Headers
The above command returns JSON structured like this:
[
"87.246.7.0",
"185.180.143.146",
"94.102.61.0",
"91.191.209.0",
"5.188.206.0"
]
HTTP Request
GET https://worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5&cidr=false&ipv6=false
URL Parameters
Parameter | Description |
---|---|
Risk Level | Options of 1-5 See Details here |
Offset | Offset for Pagination |
CIDR | true/false for enabling/disabling CIDR notation in JSON Response |
IPv6 | true/false for enabling/disabling support for IPv6 addresses |
Limit | Limit for retrieving IP data within the request. We allow values between 1-1000. We share current API total count of results via X-Total-Count response header. |
Raw IP Lists by Threat
This API endpoint returns raw IP address lists direct from the FraudGuard.io attack correlation engine by threat type. This dataset is very dynamic and changes constantly.
Note: This API is only included in the FraudGuard.io Enterprise plan. For more info - check out our API pricing table
FraudGuard.io requires Tier-Based Rate Limits so please review the documentation here
For additional information on Threats & Risks identification please check out our documentation
curl -X GET -u "username:password" "https://@worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false"
require 'net/http'
require 'net/https'
def get_ip(server,path,username,password)
http = Net::HTTP.new(server,443)
req = Net::HTTP::Get.new(path)
http.use_ssl = true
req.basic_auth username, password
response = http.request(req)
return response.body
end
puts get_ip('worker.fraudguard.io','/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false','username','password')
import requests
from requests.auth import HTTPBasicAuth
ip=requests.get('https://worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false', verify=True, auth=HTTPBasicAuth('username', 'password'))
print ip.text
var options = {
host: 'worker.fraudguard.io',
port: 443,
path: '/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false',
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
}
};
request = https.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
onsole.log("Got error: " + e.message);
});
});
}
<?php
$login = 'username';
$password = 'password';
$url = 'https://@worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$user = 'username'
$pass = 'password'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false' -Headers $Headers
The above command returns JSON structured like this:
[
"5.188.210.93",
"199.167.138.22",
"5.188.210.21",
"185.220.101.23",
"185.220.101.21"
]
HTTP Request
GET https://worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5&cidr=false&ipv6=false
URL Parameters
Parameter | Description |
---|---|
Threat Type | See Details here |
Offset | Offset for Pagination |
CIDR | true/false for enabling/disabling CIDR notation in JSON response |
IPv6 | true/false for enabling/disabling support for IPv6 addresses |
Limit | Limit for retrieving IP data within the request. We allow values between 1-1000. We share current API total count of results via X-Total-Count response header. |
Errors
The FraudGuard.io API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your login credentials are invalid. |
429 | Too Many Requests -- You've exceeded the number of API requests allocated in your pricing plan. You need to upgrade to enable this feature. |
500 | Internal Server Error -- It's our bad. We've had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |