All Email, IP & Domain Data You'll Ever Need in an API

Better Decisions with Smarter Data

Identify malicious Users, Localize IPs, reduce Fraud and undesirable signups and so much more.

Get Threat, Geolocation & Connection Data. Starting from $0 / Month.


No credit card required

{
"ip": "3.234.143.26",
"hostname": "ec2-3-234-143-26.compute-1.amazonaws.com",
"threat_score": "6",
"threat_level": "low",
"threat_class": [],
"blacklists": [],
"blacklists_list_count": 0,
"city": "Ashburn",
"region": "Virginia",
"postal": 20149,
"country": "United States",
"iso_code": "US",
"timezone": "America/New_York",
"longitude": -77.4728,
"latitude": 39.0481,
"asn_organization": "AMAZON-AES",
"asn_number": 14618,
"asn_type": "unknown",
"is_tor_exit": False,
"is_anonymizer": False,
"is_attacker": False,
"is_malware": False,
"is_proxy": False
}

How it works


Aggregate data

We collect, analyze and process continously OSINT (Open Source Intelligence) data from hundreds of sources.

Developer API

The aggregated data is accessible by our API and continously updated.

Integrate

Use our Code Examples to get started.
Happy Coding!


No time for Integration? Ask us about what we can do for you.

Threat Data API

Test an IPv4 Address or Domain against our aggregated database with hundreds of Blacklists and threat data feeds. We update our database up to 144 times per day, achieving near real time up to date data.



  {
    "ip": "3.234.143.26",
    "hostname": "ec2-3-234-143-26.compute-1.amazonaws.com",
    "threat_score": "6",
    "threat_level": "low",
    "threat_class": [],
    "blacklists": [],
    "blacklists_list_count": 0,
    "is_tor_exit": False,
    "is_anonymizer": False,
    "is_attacker": False,
    "is_malware": False,
    "is_proxy": False

  }
          

Access all data with just one line of code using our API.

Or use our language bindings.


    curl https://api.monapi.io/v1/ip/3.234.143.26
          

  import requests

  url = 'https://api.monapi.io/v1/ip/3.234.143.26'

  headers = {
      'accept': "application/json",
      'authorization': "your_api_key"
      }

  response = requests.request("GET", url, headers=headers)

  print(response.text)
  print(response.status_code)
        

  curl --url 'https://api.monapi.io/v1/ip/3.234.143.26' \
       --header 'Authorization: Token your_api_key' \
       --header 'Accept: application/json'
        
        
  <?php
  
  // IP to check
  $ip = '3.234.143.26';

  $authToken = 'your_api_key';

  // Init cURL
  $curl = curl_init();

  // Set URL & some options
  curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_URL => 'https://api.monapi.io/v1/ip/' . $ip
  ));

  // Set the authorization header
  if ($authToken) {
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
          'Authorization: Token ' . $authToken
      ));
  }

  // Send the request
  $response = curl_exec($curl);

  // Check for cURL & HTTP errors or return response content
  if (curl_errno($curl)) {
    echo 'Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl) . "\n";
  } else {
    switch ($httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE)) {
      case 200:  # OK
        echo 'OK' . "\n";
        $responseObject = json_decode($response);
        var_dump($responseObject);
        break;
      case 404:
        echo 'Resource not found' . "\n";
        $responseObject = json_decode($response);
        var_dump($responseObject);
        break;
      default:
        echo 'Unexpected HTTP-Code: ' . $httpCode . "\n";
    }
  }
  // Close request to clear up some resources
  curl_close($curl);
  
  
        
var https = require('https');

// The ip to check
var IP = '3.234.143.26'

// Authorization token
var authToken = 'Token your_api_key';

var options = {
  host: 'api.monapi.io',
  port: 443,
  path: '/api/v1/ip/' + ip,
  headers: {
  }
};

if (authToken) {
   options.headers['Authorization'] = 'Token ' + authToken;
}

var request = https.get(options, function(res) {
   var body = "";
   res.on('data', function(data) {
      body += data;
   });
   res.on('end', function() {
     // Check response by status
     switch (res.statusCode) {
       case 200:
         console.log('HTTP Status OK, 200');
         console.log('Response DATA', body);
         break;
       case 404:
         console.log('Resource not found, 404');
         console.log('Response DATA', body);
         break;
       default:
         console.log('Unknown HTTP Status Code', res.statusCode);
         break;
     }
   })
   res.on('error', function(e) {
      console.log("Got HTTP Response error: " + e.message);
   });
});

request.on('error', (e) => {
  console.error('Request error:', e);
});

request.end();

Get your free API Key

You can check out the code examples without API Key, but you are limited to just a few API Requests.
You can learn more about the API in the Documentation or sign up to get your free API Key!

How Customers use our IP & Domain Anomaly API


  • Reduce undesirable signups.
  • Localize IPs and Domains
  • Identify malicious Users
  • Leverage SOC & CSIRT
  • Reduce Fraud
  • Real Time Reputation Lookup
  • Secure Deployment Pipelines
  • Passive Breach Detection
  • Malware Feed Monitoring
  • Block malicious Traffic

Real Time Blacklist and Reputation Monitoring of your digital Assets.

monapi.io helps you:

  • Keep track of your networks, domains and ips.
  • Which clients may do harm to your infrastructure.
  • Improve your E-Mail deliverability rate.
  • Find out which of your servers or websites may be infected with malware
  • Assign clean & reputation incident free IPs to your clients.
  • Be a better Company!

Who is using monapi


App Developers

System / Network Administrators

Security Analysts

DevOps

Penetration Tester

Threat Researcher

Our free Account gives you up to 500 API requests a day!

IP Address, Email & Domain Intelligence