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
  • 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 - please see FAQ for more 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 - please see FAQ for more 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

    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.