Domain timeline: using RDAP to tell how long a relay site has actually been running

Tutorials Published 2026-10-27 6 views API Compass
Registration date, expiry, privacy proxy and certificate issuance form one timeline. Here are the commands and the judgement calls, including when the answer is "not verifiable" rather than "unreliable".

Why the timeline comes first

How long a site has existed filters faster and harder than price. Prices can be mislabelled and claims can be inflated, but a domain registration date cannot be changed.

That said, an old domain is not automatically good and a new one is not automatically a scam. The timeline tells you which stage the site is at and how much money you should risk on it.

Four time fields

FieldSourceHow to read it
RegistrationRDAP registrationupper bound on age; transfers can reset it, but rarely
ExpiryRDAP expirationregistration term, and whether renewal is overdue
Last changedRDAP last changedregistrar switch, nameserver change, ownership transfer
Certificate issuanceopenssl s_clientnot site age; Let's Encrypt rotates every 90 days

How to query

.com / .net: RDAP is reliable

curl -s https://rdap.verisign.com/com/v1/domain/example.com \
  | python -c "import json,sys; d=json.load(sys.stdin); \
      [print(e['eventAction'], e['eventDate'][:10]) for e in d['events']]"

Output looks like:

registration 2026-03-09
expiration   2027-03-09
last changed 2026-03-09

One command, structured JSON, no HTML parsing.

.ai / .cc / .store: coverage is patchy

  • .ai: most registries expose no RDAP; fall back to a whois site
  • .cc: some endpoints return empty results
  • .store: the registry RDAP often returns only notices, with no events array

When you fall back to a whois site, remember it caches. We have seen a whois page whose stated fetch date was three weeks behind the current day, meaning the record was stale. Before acting on a conclusion, cross-check with a second source.

Certificates

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -dates

Three profiles

Profile A: two-year term, registered over a year ago

registration 2025-06-xx
expiration   2027-06-xx

Two-year registration means the operator is willing to commit for two years. The most stable bucket.

Profile B: one-year term, registered 1-6 months ago

registration 2026-09-04
expiration   2027-09-04

Early stage. Not unusable, but keep the first top-up small and watch stability for a month.

Profile C: registered less than 30 days ago

registration 2026-10-24
expiration   2027-10-24

This is not "a new site to observe". It is nothing to observe yet; every check can only confirm that pages exist. Wait rather than test.

We saw an extreme case: a domain registered at 04:00 on the 24th, submitted for listing at 15:00 on the 25th, 35 hours later. Its terms were more specific than many established sites, and it still could not be listed. Documentation quality cannot substitute for operating history.

Expiry is also a signal

RemainingMeaning
more than 12 monthsnormal
2-12 monthsnormal, most sites renew annually
under 2 months, unrenewedworth noticing: either auto-renew is pending or renewal is not planned

A site that has run for nearly three years but expires in two months is more worrying than one registered six months ago. The first has history but may not intend to continue; the second has simply not proven itself. Different risks.

Reading a privacy proxy

Withheld for Privacy, Domains By Proxy, PrivacyGuardian and similar mean the registrant is hidden.

  • This is not inherently suspicious. Individual operators, compliance requirements and spam avoidance all lead here.
  • It tells you exactly one thing: you cannot identify the entity through WHOIS.
  • Fill that gap with the entity named in the terms, an ICP filing number in the footer, or the invoice header.

Privacy proxy plus no entity in the terms plus no filing in the footer is the combination that matters.

A decision table

AgeTermEntity findableRecommendation
over 1 year2 yearsyesevaluate normally
3-12 months1 yearpartlysmall test, watch a month
1-3 months1 yearnouse free credit only, do not top up
under 30 daysanynowait

Takeaways

  • The registration date is the one hard number; check it first.
  • Verisign RDAP handles .com in one command; .ai, .cc and .store need whois plus cache awareness.
  • Certificate issuance is not site age.
  • Time left before expiry hints at whether the operator intends to continue.
  • A privacy proxy is not evidence of wrongdoing, but it does mean entity information must come from the terms or an invoice header.

Was this useful? If you have run into something the article does not cover, tell us and we will verify it and update the text.

Related articles

Invoices and procurement: five gates a business must pass before buying relay capacity

2026-10-27

Reading a rate multiplier: is 0.15 a 15% discount, or an in-house coefficient?

2026-10-27

Video generation behind a relay: three API shapes, four billing traps, one acceptance checklist

2026-10-19

MCP through a relay: what works, what never will, and how to test it in ten minutes

2026-10-19

A relay selection decision tree: working back from your scenario to a site

2026-10-07

Logging and reconciliation: attributing token spend to the project level

2026-10-06

Read on: a few of the services we list

This article does not point at a specific model family, so here are a few of the highest-scoring services we list, in case you want to read on. They are ordered by score and uptime and are not a recommendation.

See the full list in the directory, or browse by model family.