Provide current and historical ownership information on domains / IPs. Identify all connections between domains, registrants, registrars, and DNS servers.
Look into all current and historical DNS / IP connections between domains and A, MX, NS, and other records. Monitor suspicious changes to DNS records.
Get detailed context on an IP address, including its user’s geolocation, time zone, connected domains, connection type, IP range, ASN, and other network ownership details.
Access our web-based solution to dig into and monitor all domain events of interest.
Get access to a web-based enterprise-grade solution to search and monitor domain registrations and ownership details for branded terms, fuzzy matches, registrants of interest, and more.
Independent, evidence-based DNS and abuse intelligence for applicants, advisors, governments, and counsel participating in the ICANN 2026 New gTLD Program.
Predictive threat intelligence is your best first line of defense. Subscribe to the feeds to strengthen your cybersecurity posture. Contact us today for more information.
Unlock integrated intelligence on Internet properties and their ownership, infrastructure, and other attributes.
Our complete set of domain, IP, and DNS intelligence available via API calls as an annual subscription with predictable pricing.
Offers complete access to WHOIS, IP, DNS, and subdomain data for product enrichment, threat hunting and more.
Uncover entire attack surfaces with this API to embed asset discovery, vulnerability scanning, and technology metadata into your platform. Now in early access.
Talk to our APIs using LLMs. Connect your preferred LLM to WhoisXML API and simply chat about WHOIS, DNS, threat intelligence, and more.
I’m your Domain Intelligence Assistant. I make it easy to explore WHOIS, DNS, and threat data from WhoisXML API — I’m cloud-based, fast, and always ready to help.
A custom GPT for WHOIS, DNS, IP, and threat intelligence research. Connects ChatGPT directly to WhoisXML API to enable fast, conversational investigations and domain insights.
One Universal API Credit Pool
Simplify API credit purchasing and usage with one balance that works across our product portfolio.
On an error, the response body carries an ErrorMessage object with an errorCode and a human-readable msg. In JSON the object is wrapped under an ErrorMessage key; in XML it is returned as a document rooted at <ErrorMessage>.
{ "ErrorMessage": { "errorCode": "WHOIS_01", "msg": "mutually exclusive cache flags: preferFresh and _hardRefresh cannot be used together" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>WHOIS_01</errorCode> <msg>mutually exclusive cache flags: preferFresh and _hardRefresh cannot be used together</msg> </ErrorMessage>
WHOIS_01 |
HTTP status: 200 Validation error message, e.g. mutually exclusive cache flags: preferFresh and _hardRefresh cannot be used together. |
WHOIS_03 |
HTTP status: 200 Unable to retrieve whois record |
AUTHENTICATE_04 |
HTTP status: 401 API key required (Authorization: Bearer key or apiKey field) |
WHOIS_02 |
HTTP status: 401 unknown user |
AUTHENTICATE_05 |
HTTP status: 401 no active subscription / no credits remaining |
AUTHENTICATE_10 |
HTTP status: 403 Your IP address is not added to the IP allowlist (https://user.whoisxmlapi.com/settings/ip-allow-list). The request is rejected. |
AUTHENTICATE_06 |
HTTP status: 429 rate limit exceeded (also sends a Retry-After header, see Limits). |
WHOIS_01 |
HTTP status: 500 | 503 Internal server error |
{ "ErrorMessage": { "errorCode": "WHOIS_01", "msg": "mutually exclusive cache flags: preferFresh and _hardRefresh cannot be used together" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>WHOIS_01</errorCode> <msg>mutually exclusive cache flags: preferFresh and _hardRefresh cannot be used together</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "WHOIS_03", "msg": "Unable to retrieve whois record" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>WHOIS_03</errorCode> <msg>Unable to retrieve whois record</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "AUTHENTICATE_04", "msg": "API key required (Authorization: Bearer key or apiKey field)" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>AUTHENTICATE_04</errorCode> <msg>API key required (Authorization: Bearer key or apiKey field)</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "WHOIS_02", "msg": "unknown user" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>WHOIS_02</errorCode> <msg>unknown user</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "AUTHENTICATE_05", "msg": "no credits remaining" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>AUTHENTICATE_05</errorCode> <msg>no credits remaining</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "AUTHENTICATE_10", "msg": "Your IP address is not added to the IP allowlist (https://user.whoisxmlapi.com/settings/ip-allow-list). The request is rejected." } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>AUTHENTICATE_10</errorCode> <msg>Your IP address is not added to the IP allowlist (https://user.whoisxmlapi.com/settings/ip-allow-list). The request is rejected.</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "AUTHENTICATE_06", "msg": "rate limit exceeded" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>AUTHENTICATE_06</errorCode> <msg>rate limit exceeded</msg> </ErrorMessage>
{ "ErrorMessage": { "errorCode": "WHOIS_01", "msg": "Internal server error" } }<?xml version="1.0" encoding="UTF-8"?> <ErrorMessage> <errorCode>WHOIS_01</errorCode> <msg>Internal server error</msg> </ErrorMessage>
The error body is described by the error JSON Schema and the error XSD.
We are here to listen. For a quick response, please select your request type. By submitting a request, you agree to our Terms of Service and Privacy Policy.