HELP CENTER

Get Domain Age & WHOIS Records with Domain Analytics API

A domain string with nothing else attached to it doesn’t tell much about a lead’s profile. New records land in your CRM constantly, and most of the time, all you have is the domain the lead typed into a form, or the one that got pulled off a prospecting list. Is this a fifteen-year-old business, or did someone park the domain last week? Maybe it’s still owned by the person filling out the form. Maybe it expired last year and was taken over by a squatter. Detailed domain data, such as age, registrar, expiration status, and how the domain performs in search, changes what happens to that lead next.

Our Whois Overview endpoint of Domain Analytics API returns that data in a single call. Below is a look at what it hands back, and how you can use the results in a lead enrichment workflow.

What the Whois Overview endpoint returns

A single call to a Whois Overview returns the fields you’d expect from a registrar lookup: creation date, last-changed date, expiration date, registered flag, registrar name, and TLD. On top of that, the response includes organic and paid ranking metrics and a backlink profile summary for the same domain, so you get WHOIS data and SEO signals in the same payload.

The difference from a raw WHOIS lookup matters here. A registrar lookup tells you the domain exists and who registered it. Our Whois Overview tells you whether the domain is worth your team’s time. A domain registered in 1995 with 431,000 referring domains and 344,000 keywords ranking in Google’s top 100 is not the same kind of lead as a domain registered last quarter with a fresh WHOIS record and no backlink history. The data for both domains comes back in a single request.

The endpoint also accepts filters on domain, TLD, creation date, backlink count, ranking metrics, and other important fields. You can look up a specific domain, or you can pull a filtered slice of the database, for example, all domains in a TLD registered in the last 90 days that already have more than 50 referring domains. That second mode is where competitive-monitoring workflows live. For lead enrichment, the single-domain lookup is what you’ll be using.

Use case: enrich domain-based leads with age and authority signals

The workflow most teams end up with looks roughly the same. A domain lands in your system through a form submission or a prospecting import. Your enrichment step calls a Whois Overview endpoint with a filter on that domain. The response comes back with the WHOIS record and the backlink and ranking overlay attached. Your scoring rules read those fields and automatically route the lead.

The scoring rules don’t need to be clever. On the high end, a domain registered in 2008 that is still actively renewed, has several hundred referring domains, and ranks for hundreds of thousands of keywords is an established business that belongs in front of a senior AE. On the low end, a domain registered three months ago with zero backlinks and no ranking data belongs in nurture, or off the list entirely, depending on your ICP. Everything in between is where your product-specific tiering has to make the call, but the fields feeding that call are the same either way.

Both signals matter, and neither one is enough on its own. A ten-year-old domain with no backlinks and no rankings is often a personal blog or an abandoned project, not a lead worth chasing. A brand-new domain with rapid backlink growth is more likely a coordinated network than a real business. That is why the Whois Overview response bundles WHOIS with backlink and ranking data: you need both sides of the picture in the same lookup to avoid scoring on a single misleading signal.

Below is the request format for a single-domain lookup and the response you’ll be parsing in your enrichment step. The request filters by the exact domain and caps the results at one record.

POST https://api.dataforseo.com/v3/domain_analytics/whois/overview/live

Request example:

[
  {
    "filters": [
      ["domain", "=", "stripe.com"]
    ],
    "limit": 1
  }
]

Response example:

{
  "version": "0.1.20260101",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.4023 sec.",
  "cost": 0.001,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "07271541-1535-0481-0000-2da4d22b3548",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.3521 sec.",
      "cost": 0.001,
      "result_count": 1,
      "path": [ "..." ],
      "data": { "..." },
      "result": [
        {
          "total_count": 1,
          "items_count": 1,
          "items": [
            {
              "domain": "stripe.com",
              "created_datetime": "1995-09-12 01:00:00 +00:00",
              "changed_datetime": "2025-09-11 20:56:22 +00:00",
              "expiration_datetime": "2026-09-11 01:00:00 +00:00",
              "updated_datetime": "2025-09-12 15:58:59 +00:00",
              "first_seen": "2020-10-06 21:00:00 +00:00",
              "epp_status_codes": [ "..." ],
              "tld": "com",
              "registered": true,
              "registrar": "SafeNames Ltd.",
              "metrics": {
                "organic": {
                  "pos_1": 18937,
                  "pos_2_3": 30887,
                  "pos_4_10": 90772,
                  "etv": 10622530.474,
                  "count": 344093,
                  "estimated_paid_traffic_cost": 64965987.298
                },
                "paid": {
                  "count": 119,
                  "etv": 3477.521,
                  "estimated_paid_traffic_cost": 30562.127
                }
              },
              "backlinks_info": {
                "referring_domains": 431340,
                "referring_main_domains": 384965,
                "referring_pages": 73979109,
                "dofollow": 68830922,
                "backlinks": 111862866,
                "time_update": "2026-06-07 23:12:51 +00:00"
              }
            }
          ]
        }
      ]
    }
  ]
}

Before you write any scoring logic against this response, a few fields do most of the work. The created_datetime field is the domain age anchor, and the gap between that date and today is the maturity signal you’ll be tiering on. The expiration_datetime, along with the registered boolean, tells you whether the domain is about to lapse or has already lapsed. For authority, backlinks_info.referring_domains holds up better than raw backlink count. Site-wide footer links can inflate backlink totals into the millions from a single referring site, so a domain-level count is the cleaner proxy for “does this business have a real web presence.” As a sanity check on that, metrics.organic.count gives you the number of keywords the domain ranks for in Google’s top 100.

The data object in a full response echoes back your request parameters, and path repeats the API path segments. Both are collapsed in the snippet above so the fields that drive scoring stay in view.

Fields worth mapping in your enrichment workflow

Not every field in the response earns a slot in your scoring logic. The shortlist most enrichment workflows keep hold of:

  • created_datetime: domain age, used for the maturity tier.
  • expiration_datetime: how close the domain is to lapsing. Drives churn flags and re-engagement triggers.
  • registered: a boolean check that the domain is still live.
  • registrar: occasionally useful for detecting cheap bulk-registration patterns tied to spam.
  • backlinks_info.referring_domains: the authority tier, and the single strongest proxy for “real business.”
  • metrics.organic.count: number of keywords ranking in Google’s top 100, which cross-checks the backlink signal.
  • etv: estimated monthly organic traffic value, useful when the lead needs to be sized by revenue potential.
  • first_seen: the date our system first indexed the domain, which is often closer to “when the site started operating” than created_datetime.

The rest of the response is worth storing in your database for later use, but four to six of the fields above are usually enough to drive the routing decision at ingest time.

Wrap up

Enriching a domain-based lead has historically meant paying for a WHOIS provider, a backlink tool, and a search-visibility source separately, then writing glue code to reconcile the three feeds. Our Whois Overview endpoint returns those signals in a single response, so you can score domains at ingest without maintaining a stack of integrations behind your CRM. Once the mapping between response fields and scoring rules is in place, the workflow runs on its own, and every new domain lands in your CRM already tiered. Try our API for free against your own list of domains today.

Embed DataForSeo widget on your website


Embed code:
Preview: