Skip to content
Identification & Data Lookup

Domain age

The domain age API returns the creation date and the age in years and days, plus registrar, nameservers, status and DNSSEC with full=1.

GET https://api2.globus.studio/v2/age

Reference

Parameters

Name Type Required Description
domain string yes Domain name. Scheme and path are stripped.
full bool no Add registrar, nameservers, status, DNSSEC, expiry and detailed age. Default: false.
format string no json or jsonp. Default: json.
callback string no JSONP callback name. Default: callback.

Example request

curl -s "https://api2.globus.studio/v2/age?domain=example.com&full=1"
Open documentation

Domain age

A domain age API returns the date a name was first registered and how long ago that was. The creation date comes from the registry record, which is public, so the answer is a fact rather than an estimate.

Age is one signal among many. It is never proof that a site is safe, and a young domain is not automatically a bad one. Most new businesses register a name on the day they start.

What the domain age API returns

The short answer has the domain, the creation date and the age as a pair of numbers: whole years and total days.

{
    "domain": "example.com",
    "creation_date": "1995-08-14",
    "age_years": 31,
    "age_days": 11404
}

Add full=1 and the response also lists the last update, the expiry date, the days left before expiry, the registrar, the nameservers, the status flags and the DNSSEC state.

{
    "domain": "example.com",
    "creation_date": "1995-08-14",
    "last_updated": "2026-08-14",
    "expiration_date": "2027-08-13",
    "expires_in_days": 283,
    "age": {"years": 31, "months": 2, "days": 20, "human": "31y 2m 20d"},
    "registrar": "...",
    "nameservers": ["elliott.ns.cloudflare.com", "hera.ns.cloudflare.com"],
    "status": ["clientdeleteprohibited", "clienttransferprohibited", "clientupdateprohibited"],
    "dnssec": true
}

Every date is Y-m-d. The age object counts calendar months, so it does not drift with leap years the way a division by 365 does.

Where the creation date comes from

The endpoint asks the registry first, over WHOIS on port 43 with a five-second timeout. The domain age API needs the registry record and nothing else: it holds the creation date, the expiry date, the nameservers and the status flags. The registrar record is not requested, because thin registries and privacy-protected registrars add latency without adding dates.

Some zones publish no WHOIS host at all. For those, and for registries that hide the creation date, the record is read over RDAP, the HTTP protocol that replaced WHOIS for registry data. The answer looks the same either way: same fields, same date format.

When neither source exposes a creation date, the response is an error. A guess would be worse than a refusal: a missing date that turns into “0 years” reads like a brand-new domain.

Age is not trust

The usual advice says an old domain is safer. It holds only in the narrow case of a domain that has been continuously owned by the same organisation. A ten-year-old name can be sold, parked or taken over. A one-year-old name can belong to a serious company.

Use age in three ways:

  • sort a list of unknown senders by age before a manual review;
  • flag a login from a domain registered last week, and still let a human decide;
  • show the date in a report, where the reader can weigh it.

Do not block on age alone. That rule catches every startup and misses every attacker who bought an aged domain.

Expiry dates and quiet failures

expires_in_days is the number to watch. A domain that expires in ten days is a renewal that has not happened yet, and the site, the mail and the certificate all depend on it. Negative values mean the domain is past its expiry date and may already be in a grace period.

Keep the date of the last successful domain age check next to the expiry date. A monitor that silently stops running looks the same as a domain in good standing until the day it does not resolve.

A domain age API result is a snapshot of the registry. Nameservers change, status flags change and the expiry date moves after a renewal. A successful answer is cached for an hour, which is short enough to follow a renewal and long enough to keep a dashboard responsive.

Run a domain age check from the command line

curl -s "https://api2.globus.studio/v2/age?domain=example.com&full=1"

One domain per request. Scheme and path are stripped, so a pasted URL works. Invalid hosts return an error before any network call.

The raw registry record behind a domain age API result, including fields this endpoint drops, is on the WHOIS lookup page. For the certificate that usually expires with the domain, see the TLS certificate API.

Further reading: RFC 7483, JSON Responses for RDAP and the ICANN lookup tool.

Custom work

Need an API that does not exist yet?

Describe the task and the response format. We will estimate the endpoint, the integration and the maintenance.

Start a conversation