Skip to content

Domain WHOIS snapshot history

GET
/whois/domain-history
const url = 'https://api.dazrik.net/whois/domain-history?target=example.com&page=1&limit=20';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}

Returns stored WHOIS snapshots for a domain, newest first. Every /whois domain lookup records a snapshot, and a new one is kept only when the canonical data changed since the previous snapshot.

target
required
string

Domain/hostname to fetch history for. Reduced to its registrable domain.

Example
example.com
page
integer
default: 1 >= 1

1-based page number. Defaults to 1.

Example
1
limit
integer
default: 20 >= 1 <= 100

Snapshots per page (1-100). Defaults to 20.

Example
20

A page of domain snapshots

Media typeapplication/json
object
ok
required
boolean
query
required

The registrable domain the history was looked up for.

string
total
required

Total snapshots stored for this domain across all pages.

integer
snapshotCount
required

Number of snapshots returned on this page.

integer
page
required

The current page number.

integer
pages
required

Total number of pages available.

integer
snapshots
required

Snapshots for this page, newest first.

Array<object>

A single stored WHOIS snapshot with the canonical domain data as it was at capture time, including the capture timestamp.

object
domainName
string
registryDomainId
string
registrar
string
registrarIanaId
string
registrarUrl
string
registrarWhoisServer
string
whoisServer
string
registrarAbuseContactEmail
string
registrarAbuseContactPhone
string
registrantName
string
registrantOrganization
string
registrantState
string
registrantCountry
string
registrantEmail
string
createdDate
string format: date-time
updatedDate
string format: date-time
expiryDate
string format: date-time
domainStatus
Array<string>
nameServer
Array<string>
dnssec
string
capturedAt
required

When this snapshot was recorded.

string format: date-time
Example
{
"ok": true,
"query": "example.com",
"total": 3,
"snapshotCount": 3,
"page": 1,
"pages": 1,
"snapshots": [
{
"domainName": "EXAMPLE.COM",
"domainStatus": [
"clientTransferProhibited"
],
"dnssec": "signedDelegation",
"capturedAt": "2026-07-06T00:42:46.526Z"
}
]
}
RateLimit
string

IETF-draft combined rate-limit header for the current window: limit, remaining, and reset (seconds until the window resets). Sent on every response from a known endpoint.

Example
limit=60, remaining=59, reset=42
RateLimit-Limit
integer

Maximum requests allowed per client IP per window (60 requests per 60s).

Example
60
RateLimit-Remaining
integer

Requests remaining in the current window before the limit is hit.

Example
59
RateLimit-Reset
integer

Seconds until the current window resets.

Example
42

Missing or invalid parameter

Media typeapplication/json

Error response.

object
ok
required
boolean
msg
required
string
Example
{
"ok": false,
"msg": "query param target is required"
}
RateLimit
string

IETF-draft combined rate-limit header for the current window: limit, remaining, and reset (seconds until the window resets). Sent on every response from a known endpoint.

Example
limit=60, remaining=59, reset=42
RateLimit-Limit
integer

Maximum requests allowed per client IP per window (60 requests per 60s).

Example
60
RateLimit-Remaining
integer

Requests remaining in the current window before the limit is hit.

Example
59
RateLimit-Reset
integer

Seconds until the current window resets.

Example
42

Rate limit exceeded: either the per-client request limit (60 requests per minute) or, for endpoints that connect to the target, the per-destination outbound connection limit.

Media typeapplication/json

Error response.

object
ok
required
boolean
msg
required
string
Example
{
"ok": false,
"msg": "you're being rate limited, try again later."
}
RateLimit
string

IETF-draft combined rate-limit header for the current window: limit, remaining, and reset (seconds until the window resets). Sent on every response from a known endpoint.

Example
limit=60, remaining=59, reset=42
RateLimit-Limit
integer

Maximum requests allowed per client IP per window (60 requests per 60s).

Example
60
RateLimit-Remaining
integer

Requests remaining in the current window before the limit is hit.

Example
59
RateLimit-Reset
integer

Seconds until the current window resets.

Example
42
Retry-After
integer

Seconds to wait before retrying. Sent only on a 429 response.

Example
42