Documentation

1.Overview

SecureFeed provides both a RESTful API for single lookups and a blocklist feed. Credit requests are used which get reset on a daily base. Unregistered users have a daily limit off 20, to increase this limit to 500.

You can easily sign up for a Free Plan with just a single click.

Get Free Api Key

2. Api lookup

2.1 Usage

Query string:

https://api.securefeed.com/host/check/71.6.231.81?apiKey=YOUR_API_KEY

Response:

{
  "IP": "71.6.231.81",
  "Classification": "malicious",
  "Reports": [
    {
      "Description": "Exists in threat list",
      "First_seen": "2023-11-07T04:06:44.3435155Z",
      "Last_seen": "2023-11-07T04:06:44.3435156Z",
      "Source": "Ellio"
    },
    {
      "Description": "Associated with various online threats, including r\ncyberattacks, malware distribution, phishing, and other malicious activities",
      "First_seen": "2023-11-07T04:24:00.1651656Z",
      "Last_seen": "2023-11-07T04:24:00.1651657Z",
      "Source": "IPsum"
    },
    {
      "Description": "Associated with Brute-force attacks",
      "First_seen": "2023-11-07T04:25:57.2633096Z",
      "Last_seen": "2023-11-07T04:25:57.2633097Z",
      "Source": "James Brine"
    }
  ],
  "ISP": {
    "IspName": "CariNet, Inc.",
    "IspNetwork": "71.6.128.0/17"
  },
  "Location": {
    "CountryCode": "US",
    "City": "Henderson (Green Valley Ranch)",
    "State": "Nevada",
    "Lat": 36.022,
    "Lon": -115.083
  },
  "MaliciousTags": ["attack", "malicious", "ddos", "unauthorized", "threat", "bruteforce", "scanning", "malware", "phishing"],
  "Tags": ["http", "net", "scraping", "ftp", "imap", "pop3", "smtp", "ssh"],
  "CreatedDate": "2020-03-18T00:28:44Z",
  "UpdatedDate": "2023-11-08T03:51:25.8866121Z"
}

2.2 Response Format

The REST API returns the following fields and values.

Property Description
EntityType Type of the result, either 'IP' or 'Host'
Classification The classification of the result, either 'neutral', 'suspicious' or 'malicious'
Tags List of common tags
MaliciousTags List of malicious tags
CreatedDate Date and time (in UTC) of the creation of the result
UpdatedDate Date and time (in UTC) of the last update of the result
Reports
Property Description
Description Description of the report
First_seen Date and time (in UTC) of first sighting
Last_seen Date and time (in UTC) of last sighting
Source Source of the report
References List of references specifically for this report
Tags List of tags specifically for this report
MaliciousTags List of malicious tags specifically for this report
RelatedAssets List of related assets specifically for this report
IP (IP only) IP Address
ISP (IP only)
Property Description
IspName Name of the ISP
IspNetwork ISP network information
Location (IP only)
Property Description
CountryCode Country code of the location
City City of the location
State State of the location
PostalCode Postal code of the location
Lat Latitude of the location
Lon Longitude of the location
HostName (URL only) Host name
Ips (URL only) List of IP history data

2.3 Sample Codes

curl -X GET \
  https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY

import requests

url = "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY"
response = requests.get(url)

print(response.json())

require 'net/http'
require 'uri'
require 'json'

url = URI.parse('https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY')
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.request_uri)
response = http.request(request)

puts JSON.parse(response.body)

const fetch = require('node-fetch');

const url = 'https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY';

fetch(url)
  .then(response => response.json())
  .then(data => console.log(data));

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    url := "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY"
    response, err := http.Get(url)
    if err != nil {
        panic(err)
    }
    defer response.Body.Close()

    body, err := ioutil.ReadAll(response.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}

use reqwest;

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let url = "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY";
    let response = reqwest::blocking::get(url)?
        .json::()?;

    println!("{:#?}", response);
    Ok(())
}

<?php
$url = 'https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY';
$response = file_get_contents($url);

echo $response;
?>

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class JavaExample {
    public static void main(String[] args) {
        try {
            String url = "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY";
            URL apiUrl = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) apiUrl.openConnection();
            connection.setRequestMethod("GET");

            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String inputLine;
            StringBuilder content = new StringBuilder();

            while ((inputLine = in.readLine()) != null) {
                content.append(inputLine);
            }

            in.close();
            System.out.println(content.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Imports System.Net
Imports System.IO

Module Module1
    Sub Main()
        Dim url As String = "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY"
        Dim request As HttpWebRequest = WebRequest.Create(url)
        request.Method = "GET"

        Using response As HttpWebResponse = request.GetResponse()
            Using reader As New StreamReader(response.GetResponseStream())
                Dim result As String = reader.ReadToEnd()
                Console.WriteLine(result)
            End Using
        End Using
    End Sub
End Module

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using (HttpClient client = new HttpClient())
        {
            string url = "https://api.securefeed.net/host/check/71.6.231.81?apiKey=YOUR_API_KEY";
            HttpResponseMessage response = await client.GetAsync(url);
            string result = await response.Content.ReadAsStringAsync();

            Console.WriteLine(result);
        }
    }
}

3. Blocklist Feed

3.1 Usage

Query string:

https://api.securefeed.com/Host/Feed?dateRange=1&type=ip?apiKey=YOUR_API_KEY&tag=TAG

Response:

45.141.87.216
103.43.141.51
106.75.134.157
1.195.229.209
107.172.217.126
113.235.66.149
113.76.139.138
115.192.78.187
115.204.76.239
115.207.126.241
180.117.170.132
183.142.196.187
183.165.224.241
39.37.120.158
41.225.221.209
103.224.90.36
125.108.231.254
156.235.98.18
165.84.217.32
167.58.234.25

3.2 Request Format

The feed uses the following query string parameters:

Property Description
dateRange An integer between 1 and 30, used to specify the last x days of data to return.
type Specififies which data type to return, options are 'ip' or 'host'.
apiKey (optional) Using an api key increases the limit of 500 items per feed.
tag (optional) Using a tag let's you filter the data by one malicious tag. This is an optional parameter so using no tag will return all the data. This parameter is still experimental therefore only one tag is allowed at this point. Please contact us if you are interested in more advanced filtering.

3.3 Response Format

Currently we only provide simple lists. Please contact us to discuss other options.

Ready to investigate?

SIGN UP IN SECONDS
No credit card required
footer-frame