NAV Navbar
shell ruby python javascript php powershell
  • FraudGuard.io API Docs
  • Get Specific IP Reputation v2
  • Get Specific Hostname Reputation v2
  • Bulk IP Lookup
  • Get Specific IP v2 Geographic, ISP and Organizational Lookup Only
  • Get Specific IP Reputation v1
  • Get Custom Blacklist
  • Get Custom Whitelist
  • Get Custom GeoBlock
  • Post to Custom Blacklist
  • Post to Custom Whitelist
  • Delete from Custom Blacklist
  • Delete from Custom Whitelist
  • Get IP Reputation v3 by Threat
  • Raw IP Lists by Risk
  • Raw IP Lists by Threat
  • Errors
  • FraudGuard.io API Docs

    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.

    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 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.

    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

    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.

    curl -X POST -u "username:password" "https://rest.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('rest.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://rest.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: "rest.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://@rest.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://rest.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://rest.fraudguard.io/api/bulk_lookup

    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.

    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 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 API is included in the Free Hacker Plan for up to the first 1000 API requests per month.

    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 Custom Blacklist

    This API endpoint retrieves your custom blacklist built in FraudGuard.io

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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 endpoint retrieves your custom whitelist built in FraudGuard.io

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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 retrieves your custom Geographic blacklist built in FraudGuard.io

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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 endpoint adds to your custom whitelist built in FraudGuard.io

    Note: This API is not included in the Free Hacker Plan outside of our 14 day free trial.

    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 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.

    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

    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.

    curl -X GET -u "username:password" "https://@worker.fraudguard.io/raw-lists-by-risk/5?offset=0&limit=5"
    
    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','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', 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',
       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';
    $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' -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

    URL Parameters

    Parameter Description
    Risk Level Options of 1-5 See Details here
    Offset Offset for Pagination
    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.

    curl -X GET -u "username:password" "https://@worker.fraudguard.io/raw-lists-by-threat/spam_tracker?offset=0&limit=5"
    
    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','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', 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',
       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';
    $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' -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

    URL Parameters

    Parameter Description
    Threat Type See Details here
    Offset Offset for Pagination
    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.