🪛 Doctor Whois

📖 Tools API

A collection of network and developer utility tools.

Version 1.0.0 Spec OpenAPI 3.0.3 openapi.json ↗
Network
GET /api/myip Return the caller's public IP address
Return the caller's public IP address
Responses
200
IP address
ip required : string // e.g. 203.0.113.1
GET /api/whois WHOIS lookup for a domain or IP
WHOIS lookup for a domain or IP
Parameters
NameInTypeDescription
target *querystringDomain name or IP address to look up
Responses
200
WHOIS result
result required : string
server required : string
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/geoip GeoIP lookup for an IP address
GeoIP lookup for an IP address
Parameters
NameInTypeDescription
ip *querystringIP address to geolocate
Responses
200
GeoIP data
status : string
country : string
regionName : string
city : string
zip : string
lat : number
lon : number
timezone : string
isp : string
org : string
as : string
query : string
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/headers Fetch HTTP response headers for a URL
Fetch HTTP response headers for a URL
Parameters
NameInTypeDescription
url *querystringURL to fetch headers from
Responses
200
HTTP headers
status required : string
code required : integer
headers required : object
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/ssl Retrieve TLS/SSL certificate information for a hostname
Retrieve TLS/SSL certificate information for a hostname
Parameters
NameInTypeDescription
hostname *querystringHostname to inspect
port queryintegerTCP port (defaults to 443; use 25 or 587 for SMTP STARTTLS) (default: 443) min: 1, max: 65535
starttls querybooleanForce STARTTLS negotiation (auto-detected for ports 25 and 587)
Responses
200
SSL certificate details
subject required : string
issuer required : string
not_before required : string(date-time)
not_after required : string(date-time)
dns_names : array<string>
valid required : boolean
days_left required : integer
chain_trusted required : boolean
chain required : array<SSLCertInfo>
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/subnet Calculate subnet information for a CIDR block
Calculate subnet information for a CIDR block
Parameters
NameInTypeDescription
cidr *querystringCIDR notation (e.g. 192.168.1.0/24)
Responses
200
Subnet details
network required : string
broadcast required : string
mask required : string
cidr_notation required : string
total_hosts required : integer(int64)
usable_hosts required : integer(int64)
first_usable required : string
last_usable required : string
input_ip required : string
400
Bad request
error required : string
GET /api/mac Look up the vendor for a MAC address
Look up the vendor for a MAC address
Parameters
NameInTypeDescription
mac *querystringMAC address (any common separator format)
Responses
200
MAC vendor info
mac required : string
vendor required : string
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/isdown Check whether a URL is reachable
Check whether a URL is reachable
Parameters
NameInTypeDescription
url *querystringURL to check
Responses
200
Availability result
up required : boolean
status : string
code : integer
ms : integer(int64)
error : string
400
Bad request
error required : string
GET /api/opengraph Extract Open Graph and meta tags from a URL
Extract Open Graph and meta tags from a URL
Parameters
NameInTypeDescription
url *querystringURL to scrape
Responses
200
Meta tag map
400
Bad request
error required : string
502
Upstream service error
error required : string
POST /api/dkim Validate DKIM signatures in an email message
Validate DKIM signatures in an email message
Request Body required
text/plain
string
Responses
200
DKIM validation results
signatures required : array<DKIMSignatureResult>
400
Bad request
error required : string
GET /api/dns DNS lookup with chain of authority and operator info
DNS lookup with chain of authority and operator info
Parameters
NameInTypeDescription
name *querystringDomain name or IP to look up
type querystringRecord type: A, AAAA, MX, TXT, NS, CNAME, PTR, SOA (default: A) (default: A)
Responses
200
DNS records and authority chain
name required : string
type required : string
records required : array<DNSRecord>
authority_chain required : array<DNSAuthorityEntry>
error : string
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/spf Look up and parse the SPF record of a domain
Look up and parse the SPF record of a domain
Parameters
NameInTypeDescription
domain *querystringDomain name to look up SPF record for
Responses
200
SPF record details
domain required : string
raw required : string
mechanisms required : array<SPFMechanism>
dns_lookups required : array<SPFLookup>
lookup_count required : integer
lookup_warning required : boolean
error : string
400
Bad request
error required : string
502
Upstream service error
error required : string
GET /api/ping TCP ping a host and measure round-trip time
TCP ping a host and measure round-trip time
Parameters
NameInTypeDescription
host *querystringHostname or IP address to ping
count queryintegerNumber of probes (1-10) (default: 4) min: 1, max: 10
port queryintegerTCP port to connect to (default 80) (default: 80) min: 1, max: 65535
Responses
200
Ping results
host required : string
ip : string
port required : integer
probes required : array<PingProbe>
sent required : integer
received required : integer
packet_loss required : number
min_ms : number
max_ms : number
avg_ms : number
400
Bad request
error required : string
GET /api/traceroute Trace the network path to a host
Trace the network path to a host
Parameters
NameInTypeDescription
host *querystringHostname or IP address to trace
max_hops queryintegerMaximum number of hops (1-64) (default: 30) min: 1, max: 64
Responses
200
Traceroute hops
host required : string
ip : string
hops required : array<TracerouteHop>
400
Bad request
error required : string
502
Upstream service error
error required : string
Security
POST /api/hash Hash the request body with multiple algorithms
Hash the request body with multiple algorithms
Request Body required
text/plain
string
Responses
200
Hash digests
md5 required : string
sha1 required : string
sha256 required : string
sha512 required : string
GET /api/uuid Generate one or more random UUIDs
Generate one or more random UUIDs
Parameters
NameInTypeDescription
count queryintegerNumber of UUIDs to generate (1–100) (default: 1) min: 1, max: 100
Responses
200
Generated UUIDs
uuids required : array<string(uuid)>
POST /api/bcrypt/generate Generate a bcrypt hash for a password
Generate a bcrypt hash for a password
Request Body required
application/json
password required : string
cost : integer
Responses
200
Bcrypt hash
hash required : string
400
Bad request
error required : string
POST /api/bcrypt/verify Verify a password against a bcrypt hash
Verify a password against a bcrypt hash
Request Body required
application/json
password required : string
hash required : string
Responses
200
Verification result
match required : boolean
400
Bad request
error required : string
Text
POST /api/markdown Render Markdown to HTML
Render Markdown to HTML
Request Body required
text/plain
string
Responses
200
Rendered HTML
html required : string
Other
GET /api/mongoid Extract the creation timestamp from a MongoDB ObjectID
Extract the creation timestamp from a MongoDB ObjectID
Parameters
NameInTypeDescription
id *querystringMongoDB ObjectID (24-character hex string)
Responses
200
Timestamp information embedded in the ObjectID
id required : string // The input ObjectID (lowercase hex)
timestamp required : integer(int64) // Unix timestamp (seconds since epoch) embedded in the ObjectID
datetime required : string(date-time) // UTC datetime derived from the embedded timestamp
400
Bad request
error required : string
GET /api/webreport Full website health and performance report
Full website health and performance report
Parameters
NameInTypeDescription
url *querystringURL of the website to inspect
Responses
200
Website report
url required : string
http_status required : integer
http_status_text required : string
http_version required : string
dns_ms required : number
ttfb_ms required : number
page_size_bytes required : integer(int64)
page_size_mb required : number
ssl : WebReportSSL
whois : WebReportWhois
security_headers required : WebReportSecurityHeaders
blacklist required : WebReportBlacklist
third_party required : array<WebReportThirdParty>
400
Bad request
error required : string
502
Upstream service error
error required : string