The WHOIS Lookup API retrieves domain registration information using modern RDAP (Registration Data Access Protocol) with automatic fallback to traditional WHOIS. It provides normalized, structured data across both protocols.
Endpoint
GET https://api.requestguard.com/v1/domain/whois
Parameters
| Parameter | Type | Required | Description |
|---|
domain | string | Yes | The domain name to query (e.g., example.com) |
raw | boolean | No | Include raw RDAP/WHOIS response (default: false) |
Response
The API returns a JSON object with normalized domain registration data:
{
"success": true,
"data": {
"domain": "example.com",
"registrar": {
"name": "Example Registrar, Inc.",
"ianaId": "1234",
"url": "https://example-registrar.com",
"whoisServer": "whois.example-registrar.com",
"abuse": {
"email": "abuse@example-registrar.com",
"phone": "+1.5551234567"
}
},
"registrant": {
"name": "Domain Administrator",
"organization": "Example Organization",
"address": {
"city": "Los Angeles",
"state": "CA",
"country": "United States",
"countryCode": "US"
}
},
"status": [
"client transfer prohibited",
"client update prohibited",
"client delete prohibited"
],
"nameservers": [
"ns1.example.com",
"ns2.example.com"
],
"dates": {
"created": "1995-08-14T04:00:00Z",
"updated": "2024-08-14T07:01:34Z",
"expires": "2025-08-13T04:00:00Z"
},
"dnssec": {
"enabled": true
},
"privacy": {
"redacted": false
},
"_meta": {
"source": "rdap",
"queriedAt": "2024-11-30T12:00:00.000Z",
"responseTime": 342
}
}
}
Response Fields
Root Object
| Field | Type | Description |
|---|
success | boolean | Whether the request was successful |
data | object | The domain registration data |
Data Object
| Field | Type | Description |
|---|
domain | string | The queried domain name (normalized) |
registrar | object | Registrar information |
registrant | object | Domain registrant/owner information |
status | array | Domain status codes (EPP status) |
nameservers | array | Authoritative nameservers |
dates | object | Registration date information |
dnssec | object | DNSSEC configuration status |
privacy | object | Privacy/redaction information |
_meta | object | Query metadata |
_raw | object | Raw response (only if raw=true) |
Registrar Object
| Field | Type | Description |
|---|
name | string | Registrar company name |
ianaId | string | IANA registrar ID |
url | string | Registrar website URL |
whoisServer | string | Registrar’s WHOIS server |
abuse | object | Abuse contact information |
Abuse Object
| Field | Type | Description |
|---|
email | string | Abuse contact email |
phone | string | Abuse contact phone |
Registrant Object
| Field | Type | Description |
|---|
name | string | Registrant name |
organization | string | Organization name |
address | object | Address information |
email | string | Contact email (if not redacted) |
phone | string | Contact phone (if not redacted) |
Dates Object
| Field | Type | Description |
|---|
created | string | Domain creation date (ISO 8601) |
updated | string | Last update date (ISO 8601) |
expires | string | Expiration date (ISO 8601) |
DNSSEC Object
| Field | Type | Description |
|---|
enabled | boolean | Whether DNSSEC is enabled |
dsData | array | DS record data (if available) |
Privacy Object
| Field | Type | Description |
|---|
redacted | boolean | Whether contact info is redacted |
reason | string | Reason for redaction |
availableContacts | array | Available contact types |
| Field | Type | Description |
|---|
source | string | Data source (rdap or whois) |
queriedAt | string | Query timestamp (ISO 8601) |
responseTime | number | Response time in milliseconds |
Domain Status Codes
Common EPP (Extensible Provisioning Protocol) status codes:
| Status | Description |
|---|
ok | Standard status for a domain |
client transfer prohibited | Transfer is locked by registrar |
client update prohibited | Updates are locked by registrar |
client delete prohibited | Deletion is locked by registrar |
server transfer prohibited | Transfer is locked by registry |
pending delete | Domain is scheduled for deletion |
pending transfer | Transfer is in progress |
redemption period | Domain is in redemption period |
Example Request
curl "https://api.requestguard.com/v1/domain/whois?domain=google.com"
Example Response
{
"success": true,
"data": {
"domain": "google.com",
"registrar": {
"name": "MarkMonitor Inc.",
"ianaId": "292",
"url": "http://www.markmonitor.com",
"abuse": {
"email": "abusecomplaints@markmonitor.com",
"phone": "+1.2086851750"
}
},
"registrant": {
"organization": "Google LLC",
"address": {
"state": "CA",
"country": "United States",
"countryCode": "US"
}
},
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"nameservers": [
"ns1.google.com",
"ns2.google.com",
"ns3.google.com",
"ns4.google.com"
],
"dates": {
"created": "1997-09-15T04:00:00Z",
"updated": "2019-09-09T15:39:04Z",
"expires": "2028-09-14T04:00:00Z"
},
"dnssec": {
"enabled": false
},
"privacy": {
"redacted": false
},
"_meta": {
"source": "rdap",
"queriedAt": "2024-11-30T12:00:00.000Z",
"responseTime": 245
}
}
}
Error Responses
Invalid Domain
{
"success": false,
"error": {
"code": "INVALID_DOMAIN",
"message": "Invalid domain format"
}
}
Domain Not Found
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "No WHOIS data found for this domain"
}
}
Lookup Failed
{
"success": false,
"error": {
"code": "LOOKUP_FAILED",
"message": "Failed to retrieve WHOIS data"
}
}
Rate Limits
| Plan | Requests per minute |
|---|
| Free | 10 |
| Pro | 100 |
| Enterprise | Unlimited |
Data Sources
RDAP (Preferred)
RDAP (Registration Data Access Protocol) is the modern replacement for WHOIS:
- Structured JSON responses - No parsing required
- Standardized format - Consistent across registries
- Better privacy - Proper handling of redacted data
- Bootstrap discovery - Automatic server lookup via IANA
WHOIS (Fallback)
Traditional WHOIS is used when RDAP is unavailable:
- TCP port 43 - Direct socket connection
- Text-based - Requires parsing
- Registry-specific - Format varies by TLD
Supported TLDs
The API supports most gTLDs and ccTLDs including:
- Generic TLDs:
.com, .net, .org, .info, .biz
- New gTLDs:
.io, .dev, .app, .cloud, .tech
- Country codes:
.uk, .de, .fr, .nl, .au, .ca
- And many more via IANA bootstrap data
Privacy & GDPR
Many domain registrations now have contact information redacted due to GDPR and privacy regulations. The privacy field indicates whether data has been redacted:
{
"privacy": {
"redacted": true,
"reason": "GDPR redaction",
"availableContacts": ["registrar"]
}
}
Try It Out
Use our interactive WHOIS Lookup Tool to query domain registration data directly in your browser.