MCP documentation menu

datapulse_dns_rdap_history

DataPulse IntelligenceScope: datapulse:dnsOutput: JSONRead-only

Historical RDAP — registrar moves, abuse contacts

Description

Historical RDAP observations for a domain from the DataPulse API.

Returns the API’s RDAP envelope as sent (names, nameservers, EPP statuses and country codes case-folded): {query, submitted_domain?, datetime, server_id, results: [{name, researchdate, ianaid, registrationdate, expiration_date, last_changed, status, dns, abuse_email, abuse_phone, registrant_cc?, error?}, …]}

results holds EVERY observation DataPulse has taken of the domain in the order the API sent them (newest first as of 2026-09; check researchdate); the newest entry is a scheduled crawl, not a live record — it can be weeks old, so use datapulse_live_rdap for the current state. An empty results array is the API’s “known name, no data” answer and is returned as-is. Each entry is the RDAP state observed on its researchdate:

  • ianaid: numeric IANA registrar ID — diff across entries to detect registrar transfers
  • abuse_email / abuse_phone: published abuse contacts — diff to track contact changes
  • dns: nameservers reported in RDAP
  • status: EPP status codes (e.g., “client transfer prohibited”)
  • registrationdate, expiration_date, last_changed: RFC 3339 RDAP event dates (datapulse_live_rdap names the expiry field expirationdate)
  • error: present when DataPulse’s own RDAP lookup failed that day — that entry is a failed collection, not a fact about the domain

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

RDAP only knows registered names, so the hostname part is removed before asking: the input is reduced to its registrable domain under the full Public Suffix List, private suffixes included (www.example.com -> example.com; www.foo.example.co.uk -> example.co.uk; microsoft.jp.net is kept and the back-end decides which registry answers). When that changed what you sent, the response carries submitted_domain with your input. A single label (com, localhost) is rejected as invalid. This is the only kind of tool that removes hostname labels; the DNS tools ask for the exact name.

A domain the API has no record for is a 404 error carrying the API’s own explanation.

Observations are registrar-level only — no registrant (owner) contact data (GDPR-redacted in the underlying RDAP).

Use this tool to investigate registrar moves, abuse-contact provenance, and long-running infrastructure shifts that aren’t visible in live RDAP.

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

Parameters

ParameterTypeDescription
domain
required
string
The domain name to query RDAP history for. A hostname is reduced to its registrable domain (www.example.com -> example.com).
Min length: 1Max length: 253
Input schema (JSON)
{
  "additionalProperties": false,
  "properties": {
    "domain": {
      "description": "The domain name to query RDAP history for. A hostname is reduced to its registrable domain (www.example.com -\u003e example.com).",
      "maxLength": 253,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "domain"
  ],
  "type": "object"
}

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