Requests are rate-limited per API key using a sliding window. Every response includes rate limit headers:
Header
Description
X-RateLimit-Limit
Maximum requests allowed per minute
X-RateLimit-Remaining
Requests remaining in the current window
Retry-After
Seconds until the window resets (only present on 429 responses)
When the limit is exceeded, the API returns 429 Too Many Requests. Wait until the Retry-After period expires before retrying.
Domain Intelligence
POST/v1/domain/lookup
Look up one or more domains concurrently. Returns WHOIS, DNS, SSL, and HTTP header data by default for each domain. Optional flags enable additional lookups. All lookups run concurrently with a 30-second timeout.
Request Body
Field
Type
Required
Default
Description
domains
string[]
Required
--
Domain names to look up. Max count depends on plan (1 / 5 / 20).
screenshot
bool
Optional
false
Capture a page screenshot. Pro
reputation
bool
Optional
false
Check domain against threat blocklists. Pro
email_security
bool
Optional
false
Check SPF, DMARC, and DKIM records.
subdomains
bool
Optional
false
Enumerate subdomains via Certificate Transparency logs.
ct_logs
bool
Optional
false
Query Certificate Transparency logs for issued certificates.
bgp
bool
Optional
false
Look up BGP/ASN information for the domain's IP addresses.
fingerprint
bool
Optional
false
Detect web technologies from HTTP response headers.
threat_intel
bool
Optional
false
Query threat intelligence feeds (VirusTotal, URLhaus, AlienVault OTX). Pro
Domain Normalization
Domain names are normalized automatically. You can pass bare domains or full URLs with any scheme — the API extracts the hostname by stripping scheme prefixes, userinfo, ports, paths, query strings, and fragments. The result is lowercased. The domain field in the response shows exactly what was looked up. Raw IP addresses are rejected — use the IP Intelligence endpoint instead.
The response is always a JSON array, even for single-domain requests. Each element contains the core lookup results plus any optional fields that were requested.
Optional fields (screenshot, reputation, email_security, subdomains, ct_logs, bgp, fingerprint, threat_intel) are only present in the response when requested.
Invalid Domains
Invalid domains in a multi-domain request do not fail the entire request. They are included in the response with a validation error while valid domains return normally:
Identifies who owns the IP behind the domain. Useful for pivot analysis and detecting bulletproof hosting.
fingerprint -- Technology Fingerprinting
Detects web servers, frameworks, CDNs, CMS platforms, and programming languages from HTTP response headers. No extra HTTP requests are made -- detection uses the headers already fetched. Approximately 90 technologies are covered.
Field
Type
Description
count
int
Number of detected technologies
technologies
array
Detected technologies
Technology Entry
Field
Type
Description
name
string
Technology name (e.g., Nginx, PHP, Cloudflare)
category
string
Category (see below)
version
string
Version extracted from header value (empty if not detectable)
Partial failures within a domain lookup are different from HTTP error responses. When individual lookups fail (e.g., a WHOIS server is unreachable), the request still returns 200 OK with the successful lookups populated and failures listed in the errors array.
Request Correlation
You can pass an optional X-Client-Request-ID header with your own correlation ID for end-to-end tracing. The API echoes it back in the response headers and includes it in server-side logs.
Header
Direction
Description
X-Client-Request-ID
Request
Your correlation ID (max 64 chars; alphanumeric, hyphens, underscores, dots, colons)
X-Request-ID
Response
Server-generated UUID for every request. Reference this when contacting support.
What's New
v0.51.0 2026-04-16
Subdomain enumeration is now subject to a tighter per-plan domain cap (subdomain.max_domains.*). The config keys and defaults shipped earlier; this is the missing enforcement
v0.50.1 2026-04-04
Domain normalization now strips any URL scheme (ftp, ssh, etc.), not just http/https
v0.50.0 2026-04-04
Domain inputs with paths, ports, query strings, and fragments are now normalized instead of rejected
v0.44.0 2026-04-03
DNS lookups now use external resolvers (Google, Cloudflare, OpenDNS) with automatic fallback
v0.41.0 2026-03-29
New endpoint: POST /v1/ip/lookup — GeoIP, ASN, reverse DNS, abuse contact, and threat intelligence for IP addresses
IP threat intelligence requires a pro plan (same as domain threat_intel)
GeoIP and ASN data powered by MaxMind GeoLite2 databases (loaded from disk, refreshable via admin endpoint)
v0.40.0 2026-03-28
Domain input validation now rejects ports, paths, query strings, fragments, and userinfo
v0.38.0 2026-03-22
Partial lookup failures now include error_count in the response for better client-side observability
v0.36.0 2026-03-19
VirusTotal provider is now best-effort when rate-limited instead of failing the whole lookup
Added threat intelligence section to API docs
v0.34.0 2026-03-17
Added Stripe billing integration with webhook handling and API key provisioning
New /billing/success page for post-checkout key retrieval
Customer Portal link for subscription management
v0.33.0 2026-03-16
Added threat intelligence lookups — VirusTotal, URLhaus, and AlienVault OTX with weighted scoring
Threat intel available for pro and admin plans via threat_intel option
v0.32.0 2026-03-15
Added BGP/ASN lookups with origin AS, prefix, and RIR information
BGP data available for all plans via bgp option
v0.31.0 2026-03-14
Added certificate transparency log lookups via crt.sh
CT log data available for all plans via ct_logs option
v0.30.0 2026-03-13
Added technology fingerprinting — detects web servers, frameworks, CDNs, and more from HTTP headers
~90 built-in detection rules, hot-reloadable via admin endpoint
v0.19.0 2026-03-05
Added subdomain enumeration via certificate transparency data
Subdomain results included in domain lookup response via subdomains option
v0.18.0 2026-03-04
Added X-Client-Request-ID header support for client-supplied request correlation
v0.16.0 2026-03-02
Added email security analysis — SPF, DKIM, and DMARC record validation
Email security available for all plans via email_security option
v0.15.0 2026-02-28
Plan-based limits on domains per request — free: 1, basic: 5, pro: 20