WHOIS Lookup API
The OEM WHOIS Lookup API returns WHOIS registration data for a domain. This includes registrar details, registration dates, nameservers, and registrant information. You can also search across all collected records by registrar, nameserver, TLD, status, or expiry date.
OEM API requires special partner access. Contact FullHunt sales to enable OEM capabilities on your account.
WHOIS Lookup
Retrieve WHOIS registration data for a single domain.
HTTP Request
POST https://fullhunt.io/api/v1/oem/whois/lookup
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
domain | Yes | string | The domain name to look up |
query_tags | No | object | Key-value pairs for client-specific tracking |
Example Request
curl -X POST "https://fullhunt.io/api/v1/oem/whois/lookup" \
-H "X-API-KEY: xxxx-xxxx-xxxx-xxxxxx" \
-H "Content-Type: application/json" \
-d '{
"domain": "acme.com",
"query_tags": {
"client_name": "ACMECorp",
"workspace": "production"
}
}'
Example Response
{
"domain": "acme.com",
"whois_data": {
"domain": "acme.com",
"tld": "com",
"queried_at": "2026-05-03T23:13:23.596Z",
"rdap": {
"source": "https://rdap.verisign.com/com/v1/",
"registrar": "Example Registrar, Inc.",
"registrant": "",
"nameservers": ["ns1.acme-dns.com", "ns2.acme-dns.com"],
"status": [
"client transfer prohibited",
"client update prohibited",
"client delete prohibited"
],
"created_at": "2004-05-19T21:00:30.000Z",
"updated_at": "2026-03-23T03:38:21.000Z",
"expires_at": "2027-05-19T21:00:30.000Z",
"events": [
{"action": "registration", "date": "2004-05-19T21:00:30.000Z"},
{"action": "expiration", "date": "2027-05-19T21:00:30.000Z"},
{"action": "last changed", "date": "2026-03-23T03:38:21.000Z"}
],
"entities": [
{"handle": "940", "roles": ["registrar"], "name": "Example Registrar, Inc.", "org": "", "email": ""}
],
"raw": null
},
"whois": {
"source": "whois.verisign-grs.com",
"registrar": "Example Registrar, Inc.",
"registrant": "",
"status": ["ok https://icann.org/epp#ok"],
"nameservers": ["ns1.acme-dns.com", "ns2.acme-dns.com"],
"created_at": "2004-05-19T21:00:30.000Z",
"updated_at": "2026-03-23T03:38:21.000Z",
"expires_at": "2027-05-19T21:00:30.000Z",
"raw": ""
},
"errors": null
}
}
If no WHOIS data has been collected for the domain, whois_data will be null:
{
"domain": "example.com",
"whois_data": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
domain | string | The queried domain |
whois_data | object | null | WHOIS registration data, or null if not yet collected |
whois_data.domain | string | The domain name |
whois_data.tld | string | Top-level domain |
whois_data.queried_at | string | When FullHunt last fetched this record (ISO 8601) |
whois_data.rdap | object | RDAP registration data |
whois_data.rdap.registrar | string | Registrar name (RDAP) |
whois_data.rdap.nameservers | array | Authoritative nameservers (RDAP) |
whois_data.rdap.status | array | EPP domain status codes (RDAP) |
whois_data.rdap.created_at | string | Registration date (ISO 8601) |
whois_data.rdap.updated_at | string | Last updated date (ISO 8601) |
whois_data.rdap.expires_at | string | Expiry date (ISO 8601) |
whois_data.rdap.events | array | Registration lifecycle events |
whois_data.rdap.entities | array | Registrar and registrant entities |
whois_data.whois | object | null | Classic WHOIS data (may be null for some TLDs) |
whois_data.whois.registrar | string | Registrar name (WHOIS) |
whois_data.whois.nameservers | array | Authoritative nameservers (WHOIS) |
whois_data.whois.status | array | EPP domain status codes (WHOIS) |
whois_data.whois.created_at | string | Registration date (ISO 8601) |
whois_data.whois.updated_at | string | Last updated date (ISO 8601) |
whois_data.whois.expires_at | string | Expiry date (ISO 8601) |
whois_data.errors | array | null | Any errors encountered during lookup |
WHOIS Search
Search across all collected WHOIS records by registrar, nameserver, TLD, status, or expiry date.
HTTP Request
POST https://fullhunt.io/api/v1/oem/whois/search
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
registrar | No | string | Partial or full registrar name (case-insensitive) |
nameserver | No | string | Partial or full nameserver hostname (case-insensitive) |
tld | No | string | Top-level domain (e.g. com, io, net) |
status | No | string | EPP status string to match (e.g. client transfer prohibited) |
expires_before | No | string | Return domains expiring before this date (ISO 8601, e.g. 2027-01-01T00:00:00.000Z) |
limit | No | integer | Max results to return (default 10, max 10) |
query_tags | No | object | Key-value pairs for client-specific tracking |
At least one of registrar, nameserver, tld, status, or expires_before is required.
Example — search by registrar
curl -X POST "https://fullhunt.io/api/v1/oem/whois/search" \
-H "X-API-KEY: xxxx-xxxx-xxxx-xxxxxx" \
-H "Content-Type: application/json" \
-d '{
"registrar": "GoDaddy",
"tld": "com",
"limit": 50
}'
Example — search by nameserver
curl -X POST "https://fullhunt.io/api/v1/oem/whois/search" \
-H "X-API-KEY: xxxx-xxxx-xxxx-xxxxxx" \
-H "Content-Type: application/json" \
-d '{
"nameserver": "ns1.acme-dns.com"
}'
Example — find expiring domains
curl -X POST "https://fullhunt.io/api/v1/oem/whois/search" \
-H "X-API-KEY: xxxx-xxxx-xxxx-xxxxxx" \
-H "Content-Type: application/json" \
-d '{
"expires_before": "2027-01-01T00:00:00.000Z",
"tld": "com",
"limit": 100
}'
Example Response
{
"filters": {
"registrar": "GoDaddy",
"nameserver": null,
"tld": "com",
"status": null,
"expires_before": null
},
"total_results": 2,
"results": [
{
"domain": "acme.com",
"whois_data": {
"domain": "acme.com",
"tld": "com",
"queried_at": "2026-05-03T23:13:23.596Z",
"rdap": {
"registrar": "GoDaddy.com, LLC",
"nameservers": ["ns1.acme-dns.com", "ns2.acme-dns.com"],
"status": ["client transfer prohibited"],
"created_at": "2004-05-19T21:00:30.000Z",
"updated_at": "2026-03-23T03:38:21.000Z",
"expires_at": "2027-05-19T21:00:30.000Z"
},
"whois": {
"registrar": "GoDaddy.com, LLC",
"nameservers": ["ns1.acme-dns.com", "ns2.acme-dns.com"],
"status": ["ok https://icann.org/epp#ok"],
"expires_at": "2027-05-19T21:00:30.000Z"
},
"errors": null
}
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
filters | object | The filters applied to this search |
total_results | integer | Number of matching records returned |
results | array | Array of matching domain WHOIS objects |
results[].domain | string | Domain name |
results[].whois_data | object | null | Full WHOIS record (same schema as lookup endpoint) |
Use Cases
- Domain Intelligence: Enrich domain data with registration history
- Brand Protection: Find all domains sharing a registrar or nameserver
- Expiry Monitoring: Surface domains expiring within a time window
- Phishing Investigation: Identify recently registered lookalike domains
- Third-Party Risk: Assess vendor domain registration details
- Infrastructure Pivoting: Find all domains pointing to the same nameservers
Query Tags for Tracking
Use query_tags to track per-client usage in audit logs:
{
"query_tags": {
"client_id": "client_123",
"client_name": "ACME Corporation",
"workspace": "production"
}
}
Error Handling
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request — missing or invalid parameters |
| 401 | Unauthorized — invalid API key |
| 403 | Forbidden — OEM access not enabled or credits exhausted |
| 429 | Rate limit exceeded |
| 500 | Internal server error |