JSON API

The iamroot.tech JSON API

Introduction

An API interface has been implemented for four of the tools. It is still in an early beta stage. The API has been made available to gather feedback and to support further development of the website 'under the hood'. At this point, there are still a lot of things missing, but the essentials are there, and the API is working as intended on the selected tools.

At this point, there is no user registration and/or authentication implemented; it will be added at a later point.




Feedback

The main purpose, of pushing the API at this point, is to gather feedback.

I hope you will share any thoughts, ideas and experiences with me.

Mail me at iamrootdottech@gmail.com - looking forward to your input!




Next up

  • User signup/registration
  • Authentication on the API has to be implemented
  • Further tuning of the API, establishing common ground, and developing core concepts.




Please note...

...the API will be subject to changes and updates going forward. I will make sure to detail major changes on this page, and in the sitewide changelog as well.



Core concepts

URL/endpoint structure

The intent is, that the URL structure of each API, has to mirror the URLs used at the website. For instance, the website URL for a WHOIS-lookup of yahoo.com, looks like this:

https://iamroot.tech/whois/?host=yahoo.com&qt=PreferRdap

The matching API request, looks like this:

https://iamroot.tech/whois/api/?host=yahoo.com&qt=PreferRdap
Each tool is working from a dedicated subdirectory. And the corresponding API, is working from a /api/ subdirectory within the tool.

More tool-specific details below.




Authentication and rate limits

No user authentication has been implemented so far - all use of the API is anonymous at this point.

Even though no authentication is implemented, a rate limit of 200 requests per 24 hours apply - and is enforced.




API response wrapper

All API responses share a common JSON object on the root level. It has various status and meta info. Should be pretty straightforward to interpret.

{
    "Status": 200,
    "StatusTxt": "AllGood",
    "Message": null,
    "RequestTimestamp": "2023-10-05T21:04:45.970403Z",
    "RequestServer": "horsens",
    "RequestTool": "whois",
    "RequestUuid": "09b8878f0e054808b89a4e3d125a6d07",
    "RequestExecutionTime": 1084,
    "UserUuid": null,
    "UserApikeyUuid": null,
    "UserQueryLimit24h": 196,
    "DataObjectType": "SslInfoV2Simplified",
    "Data": [...]
}



The WHOIS/RDAP tool

You may read more about the WHOIS/RDAP tool at https://iamroot.tech/whois/. When using the tool in your browser, the URL of the corresponding API call is mentioned as a part of the result.


Perform WHOIS / RDAP lookup

 
GET
https://iamroot.tech/whois/api/?host=[host]&qt=[querytype] copy
 
[host] string, required A hostname, ip-adresse, CIDR or AS number for the WHOIS/RDAP lookup.
[querytype] enum, optional Specifying the querytype. Can be either
PreferRdap Try RDAP, failover to WHOIS - default
Rdap To force a RDAP lookup
whois To force a WHOIS lookup
Omit or leave empty to use default settings.

Samples & output

Lookup of '8.8.8.8', prefer RDAP with failover to WHOIS:

 
GET
https://iamroot.tech/whois/api/?host=8.8.8.8&qt=PreferRdap copy try it
 

 

Lookup of 'AS16509', force WHOIS:

 
GET
https://iamroot.tech/whois/api/?host=AS16509&qt=whois&qt=whois copy try it
 



The TLS/SSL tool

You may read more about the TLS/SSL tool at https://iamroot.tech/ssl-certificate-check/. When using the tool in your browser, the URL of the corresponding API call is mentioned as a part of the result.


Perform TLS/SSL certifictae check of host

 
GET
https://iamroot.tech/ssl-certificate-check/api/?host=[host]&hostPort=[hostPort] copy
 
[host] string, required A hostname or ip-adresse to retrieve the SSL-certificate from
[hostPort] integer, optional Specifying what port number to connect to. Default port 443 (https). Leave empty or omit this part of the querystring to use default settings.

Samples & output

SSL/TLS check of 'google.com', all default settings:

 
GET
https://iamroot.tech/ssl-certificate-check/api/?host=google.com copy try it
 

 

SSL/TLS check of 'wrong.host.badssl.com', all default settings:

 
GET
https://iamroot.tech/ssl-certificate-check/api/?host=wrong.host.badssl.com copy try it
 



The port scan tool

You may read more about the port scan tool at https://iamroot.tech/port-scan/. When using the tool in your browser, the URL of the corresponding API call is mentioned as a part of the result.


Perform port scan of host

 
GET
https://iamroot.tech/port-scan/api/?host=[host]&additionalports=[additionalports] copy
 
[host] string, required A hostname or ip-adresse to retrieve the SSL-certificate from
[additionalports] string, optional Any additional ports to scan - seperate by space

Samples & output

Port scan of 'www.db4free.net':

 
GET
https://iamroot.tech/port-scan/api/?host=www.db4free.net copy try it
 

 

Port scan of 'ftp.gnu.org', with additional check of port 5000:

 
GET
https://iamroot.tech/port-scan/api/?host=ftp.gnu.org&additionalports=5000 copy try it
 



The DNSBL check tool

You may read more about the DNSBL check at https://iamroot.tech/dnsbl-blacklist-checker/. When using the tool in your browser, the URL of the corresponding API call is mentioned as a part of the result.


Perform DNSBL check of host

 
GET
https://iamroot.tech/dnsbl-blacklist-checker/api/?host=[host] copy
 
[host] string, required A hostname or ip-adresse to check

Samples & output

DNSBL check of 'mail.iamroot.tech':

 
GET
https://iamroot.tech/dnsbl-blacklist-checker/api/?host=mail.iamroot.tech copy try it