datapulse_dns_rdap_history
datapulse:dnsOutput: JSONRead-onlyHistorical 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
| Parameter | Type | Description |
|---|---|---|
domainrequired | 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.