NAV Navbar
shell ruby python javascript php powershell
  • FraudGuard.io API Docs
  • Get Specific IP Reputation v1
  • Get Specific IP Reputation v2
  • Get Specific IP v2 Geographic, ISP and Organizational Lookup Only
  • Get Specific Hostname Reputation v2
  • Get Specific IP Reputation v3 by Threat
  • Get Specific IP Reputation v4
  • Get Specific IP Reputation v5
  • Get Specific IP Reputation v5 by Threat
  • Bulk IP Lookup
  • 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 User History
  • Get User History List
  • Post User History Check
  • Raw IP Lists by Risk
  • Raw IP Lists by Threat
  • Errors
  • 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.