MCP documentation menu

datapulse_live_dns_bulk

Live LookupScope: datapulse:dnsOutput: JSONRead-only

Bulk DNS lookup for up to 1000 domains

Description

Submit multiple domains for DNS lookup in a single request (up to 1000).

IMPORTANT: This tool is ALWAYS ASYNC. It returns job receipts only — NOT lookup results. After submitting, retrieve individual results by calling datapulse_live_dns(domain=…) for each domain — completed lookups return the cached result instantly.

NOTE: DNS always forces fresh lookups — cached count is always 0.

For single domains, use datapulse_live_dns instead.

Returns:

  • accepted/rejected/cached: the API’s submission counts over the items sent (rejected_local is not included)
  • batch_id: UUID grouping all accepted domains
  • dns_query_hashes: the API’s flat list of DNS row keys (formerly domain_hashes; per-lookup keys, not canonical domain hashes — see submitted[].domain_hash)
  • job_ids: Array of job IDs for tracking
  • errors: the API’s own rejection codes only; [] whenever nothing survived local validation to be refused upstream — check rejected_items and rejected_local instead
  • submitted: One entry per lookup sent: index (position in your domains array), query (the A-label domain, www. kept), record_type, dns_query_hash (the key the DNS row is stored under: www. kept, record type folded in) and domain_hash (the canonical www-stripped domain hash that joins with datapulse_domain_overview and datapulse_live_domain_health), plus job_id and cached exactly when the API’s per-item report carries them (nothing is inferred)
  • rejected_items: what the API refused: index, query (the domain as sent) and error (the API’s code)
  • rejected_local: what was refused before the request (not a valid name, or blank): index, query (the domain as you gave it) and error (the reason); NOT counted in rejected — read both lists to find every failure
  • duplicates: index, query, and first_index of the lookup it repeats; submitted once accepted + cached + rejected + len(rejected_local) + len(duplicates) equals the number of items you passed. One bad item never fails the batch.

For usage guidance, call datapulse_help(topic="dns")

Parameters

ParameterTypeDescription
domains
required
object[]
Array of domains to look up. Maximum 1000 per request.
Min items: 1Max items: 1000
domains[].domain
required
string
The domain name to look up (e.g., ’example.com’).
Min length: 1
domains[].forceboolean
Bypass cache.
domains[].metadatamap<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.
domains[].record_typestring
DNS record type to query. If omitted, queries default types.
AAAAACNAMEMXNSTXTSOAPTRSRVCAADNSKEYDSRRSIGNSECTLSANAPTRSSHFP
Input schema (JSON)
{
  "additionalProperties": false,
  "properties": {
    "domains": {
      "description": "Array of domains to look up. Maximum 1000 per request.",
      "items": {
        "properties": {
          "domain": {
            "description": "The domain name to look up (e.g., 'example.com').",
            "minLength": 1,
            "type": "string"
          },
          "force": {
            "description": "Bypass cache.",
            "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": "DNS record type to query. If omitted, queries default types.",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "NS",
              "TXT",
              "SOA",
              "PTR",
              "SRV",
              "CAA",
              "DNSKEY",
              "DS",
              "RRSIG",
              "NSEC",
              "TLSA",
              "NAPTR",
              "SSHFP"
            ],
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "domains"
  ],
  "type": "object"
}

Generated from the live server (DataPulse MCP 1.0.0) on October 1, 2026.