{
  "id": 6942963,
  "title": "What I learned checking 65 client domains with RDAP instead of WHOIS",
  "url": "https://urgent.news/2026/09/12/what-i-learned-checking-65-client-domains-with-rdap-instead-of-whois",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T15:17:20.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/webvogue/what-i-learned-checking-65-client-domains-with-rdap-instead-of-whois-5cd3"
  },
  "original_language": "en",
  "account": "I conducted a test on 65 client domains using RDAP instead of WHOIS, observing that one domain had already expired, while 60% of the rest had expirations within 3 to 6 months. The challenging aspect was the differences in data formats between WHOIS and RDAP, with RDAP returning structured JSON responses over HTTPS, and 404 errors indicating unregistered domains.\n\nThree issues arose during the process: 1) the registrar's name is concealed within a jCard, 2) IANA's bootstrap lacks coverage for all TLDs, and 3) public suffixes can mislead with incorrect expiry dates. Additionally, my initial approach of checking every href on the page led to false positives, which was resolved by using a structural rule to only consider anchor tags. Lastly, approximately one-third of websites blocked automated requests, prompting a switch to using a real browser to overcome IP reputation blocks.",
  "summary": "I built a domain expiry monitor, and to test it against something other than my own domains I pointed it at the \"our work\" pages of 30 US web design agencies — the client sites they link to publicly — and checked every domain against its registry. The results were mildly alarming, but the interesting part was everything that went wrong on the way there. The results first 65 client domains across…",
  "key_points": [
    "RDAP provided structured JSON responses over HTTPS, unlike WHOIS's plain text",
    "Registrar names hidden in jCard format, unlike WHOIS's straightforward display",
    "IANA's bootstrap incomplete, leading to misdated public suffix expirations"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}