datapulse_live_dns
datapulse:dnsOutput: JSONRead-onlyLive DNS records with DNSSEC (all types or specific, synchronous)
Description
Live DNS lookup — returns current records as published on the internet.
TIP: For full domain research (DNS + RDAP + web scrape), prefer datapulse_domain_overview(domain=…) which combines all three in one call.
Always synchronous — results are returned directly in the response. No polling required.
Resolver: DNSSEC-validating recursive with EDNS DO flag set. No content filtering, with one deliberate exception: answers in private, link-local or unique-local ranges are dropped, including those ranges inside IPv4-mapped (::ffff:10.0.0.1), IPv4-compatible and 6to4 addresses, and every NAT64 address (64:ff9b::/96). Loopback (127.0.0.1, ::1) is returned, since sinkholed domains point there. See datapulse_help(topic="dns").
By default, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, and DS records plus a _dmarc.<domain> TXT lookup — all in a single call. The DMARC result appears in a separate ‘dmarc’ field (not mixed into ‘records’). Use the optional record_type parameter to query a single specific type (e.g., SRV, PTR, TLSA, NAPTR, SSHFP); this disables the automatic DMARC lookup.
Default response: compact summary with status, dnssec_signed flag, records grouped by type (A, AAAA, MX, etc.), and a dmarc object ({status, record}) showing the _dmarc TXT policy if present. Summary mode omits DNSSEC record types (RRSIG, NSEC, NSEC3, NSEC3PARAM, DNSKEY, DS) unless one of them is the requested record_type or full=true.
Set full=true for raw DNS output including per-query flags, authorities, additionals, and RRSIG/NSEC records.
IDN: Accepts Unicode domains; responses use Punycode (A-label) form. The name’s spelling is canonicalized (case, whitespace, every trailing dot, IDN) and the hostname level is kept (www. kept — www.example.com and example.com resolve independently); hostname labels are never removed by the DNS tools. A single label (com) and underscore names (_dmarc.example.com) are accepted. When canonicalizing changed more than letter case, the response carries submitted_domain with what you sent. Record names and targets in the answer are case-folded. When the lookup itself failed, the summary has status “error” and carries the worker’s error text verbatim.
Hashes: dns_query_hash is the key the DNS row is stored under (www. kept, record type folded in); domain_hash is the canonical www-stripped domain hash that joins with datapulse_domain_overview and datapulse_live_domain_health. Both are in the summary and the full output.
For multi-domain submission (up to 1000), use datapulse_live_dns_bulk.
For usage guidance, call datapulse_help(topic="dns")
Parameters
| Parameter | Type | Description |
|---|---|---|
domainrequired | string | The domain name to look up (e.g., ’example.com’). Min length: 1Max length: 253 |
force | boolean | Force a fresh lookup. DNS lookups are always live (cached at the DNS resolver layer, not the application layer), so this is rarely needed. Default: false |
full | boolean | Return full raw DNS output including flags, authorities, and additionals. Default is false (returns compact summary). Default: false |
metadata | map<string, string> | Custom key-value metadata stored with the result. Shared with every caller of this deployment and returned to anyone who retrieves the row; never put credentials or personal data here. |
record_type | string | Optional DNS record type to query (e.g., ‘SRV’, ‘PTR’, ‘MX’). If omitted, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, DS, plus _dmarc TXT. AAAAACNAMEMXNSTXTSOAPTRSRVCAADNSKEYDSRRSIGNSECTLSANAPTRSSHFP |
Input schema (JSON)
{
"additionalProperties": false,
"properties": {
"domain": {
"description": "The domain name to look up (e.g., 'example.com').",
"maxLength": 253,
"minLength": 1,
"type": "string"
},
"force": {
"default": false,
"description": "Force a fresh lookup. DNS lookups are always live (cached at the DNS resolver layer, not the application layer), so this is rarely needed.",
"type": "boolean"
},
"full": {
"default": false,
"description": "Return full raw DNS output including flags, authorities, and additionals. Default is false (returns compact summary).",
"type": "boolean"
},
"metadata": {
"additionalProperties": {
"type": "string"
},
"description": "Custom key-value metadata stored with the result. Shared with every caller of this deployment and returned to anyone who retrieves the row; never put credentials or personal data here.",
"type": "object"
},
"record_type": {
"description": "Optional DNS record type to query (e.g., 'SRV', 'PTR', 'MX'). If omitted, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, DS, plus _dmarc TXT.",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"TXT",
"SOA",
"PTR",
"SRV",
"CAA",
"DNSKEY",
"DS",
"RRSIG",
"NSEC",
"TLSA",
"NAPTR",
"SSHFP"
],
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}Generated from the live server (DataPulse MCP 1.0.0) on October 1, 2026.