
Domain WHOIS Monitoring API
Retrieve domain registration, registrar, nameserver, and expiry data
Retrieve complete DNS records for a domain or webpage URL
Query A, AAAA, MX, TXT, NS, CNAME, SRV, and SOA records without combining multiple lookup tools.
Submit a domain or HTTP(S) URL and receive records for its normalized hostname.
Review MX and TXT records during mail setup, sender verification, and domain ownership validation.
Confirm address, nameserver, alias, and authority records before or after a domain change.
Store structured DNS snapshots for scheduled checks, change detection, and operational investigations.
Inspect discovery records and domain configuration for missing, stale, or unexpected values.
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
There is no total request cap during an active paid subscription and no usage-based overage charge.
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
HTTP Protocol:HTTPS
HTTP Method:GET
HTTP Endpoint:https://api.gugudata.io/v1/websitetools/dns-lookup
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/websitetools/dns-lookup/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| domain | string | true | https://gugudata.io/docs | Domain name or HTTP(S) URL to inspect. Paths, case, trailing dots, and internationalized domain names are normalized. IP addresses and other URL schemes are rejected. |
| Name | Type | Remark |
|---|---|---|
| dataStatus.requestParameter | string | Privacy-safe summary of the normalized request. |
| dataStatus.statusCode | integer | Application-level status code. |
| dataStatus.status | string | Application-level result status. |
| dataStatus.statusDescription | string | Human-readable application status message. |
| dataStatus.responseDateTime | string | Time at which the response was generated. |
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data.* | array<object> | Dynamic record groups for A, AAAA, MX, TXT, NS, CNAME, SRV, and SOA. Groups with no records are omitted; NXDOMAIN returns an empty data object. |
| data.*.domain | string | Normalized owner name for the DNS record. |
| data.*.ttl | string | Time to live reported for the DNS record. |
| data.*.class | string | DNS class for the record, such as IN. |
| data.*.type | string | Record type matching its containing group. |
| data.*.value | string | Complete record value. MX, SRV, and SOA include all fields, and multipart TXT values are joined into one string. |
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}
Retrieve domain registration, registrar, nameserver, and expiry data

Inspect HTTPS certificate identity, issuer, validity, and expiry

Enrich public IP addresses with approximate location data
Retrieve website metadata and a verified favicon URL