MCP documentation menu

datapulse_dns_dphistory

DataPulse IntelligenceScope: datapulse:dnsOutput: JSONRead-only

Hosting / nameserver history (listing timeline)

Description

Historical hosting and nameserver changes for a name from the DataPulse names corpus (BON Search API).

The name’s spelling is canonicalized (whitespace and every trailing dot removed, case folded, IDN as a-labels) and the hostname level is kept: NO hostname labels are removed — this is a DNS tool, and www.github.com and github.com are separate lookups. Only the RDAP tools reduce a hostname to its registrable domain. A single label (com, localhost) is rejected as invalid. When normalization changed what you sent (an IDN, a trailing dot), the response carries submitted_domain with your input.

Response: the API’s own envelope {query, submitted_domain?, datetime, server_id, results: {Name, Versions: [{YMD, Type, Body}, …]}, complete, found}

found:false with an empty Versions list is the corpus’s answer for a name it never listed (a hostname under a platform suffix such as octocat.github.io, or a domain that never passed the active check) — it is returned as-is, not as an error.

Versions is the name’s timeline, OLDEST FIRST, in the order the API sent it. Each entry is one dated observation:

  • YMD: the observation day as an integer, e.g. 20230407
  • Type: “a” = first listed (the domain began passing the active-and-functioning check; also the entry for every domain in the initial 2023-04-07 snapshot), “c” = configuration changed, “d” = de-listed (stopped functioning and left the corpus)
  • Body: {name?, services: [{type, providers: [{name?: [hosts], asn?: N}]}]} — services is [] when the API sent no record (every “d”, and a “c” whose services all vanished); name is absent when the API sent none. A Body the API sent that is not a record is passed through as body_raw with body_error. asn is a flat integer, absent when unknown; name is absent for AW. Service types: AW (web hosting of www, or the apex when there is no www), MX, OperationalNS (nameservers answering for the name), ReportedNS (nameservers delegated by the parent zone). ASN operator names are not included. Hostnames are case-folded.

This is a change log, not daily snapshots: from 2024 on, changes land mostly on the first of a month, and a domain whose setup never changed has one version. Consecutive “c” versions with the same hostnames and a different asn are usually anycast attribution churn, not a move; a run of alternating “d”/“a” with the same providers is one unstable delegation, not repeated moves.

datetime and server_id describe this API response, not the domain.

These are DataPulse listing events, NOT registry events: “a” is not a registration date and “d” is not a registry deletion - a de-listed domain is usually still registered. See datapulse_help(topic="methodology").

For usage guidance, call datapulse_help(topic="history") To get a list of topics call datapulse_help() with no arguments.

Parameters

ParameterTypeDescription
domain
required
string
The name to query history for. Its spelling is canonicalized (case, whitespace, IDN, trailing dots) but no labels are removed: www.example.com and example.com are different lookups.
Min length: 1Max length: 253
Input schema (JSON)
{
  "additionalProperties": false,
  "properties": {
    "domain": {
      "description": "The name to query history for. Its spelling is canonicalized (case, whitespace, IDN, trailing dots) but no labels are removed: www.example.com and example.com are different lookups.",
      "maxLength": 253,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "domain"
  ],
  "type": "object"
}

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