---
title: "Domain Age API"
url: "https://lookvalid.com/products/domain-age.md"
canonical_url: "https://lookvalid.com/products/domain-age"
last_updated: "2026-10-22"
type: "product"
summary: "Registration, last update and expiry dates, registrar and age in days for a domain, from the registry's public RDAP service."
related: ["https://lookvalid.com/pricing.md", "https://lookvalid.com/docs/api/domain-age.md"]
---

# Domain Age API

Registration, last update and expiry dates, registrar and age in days for a domain, from the registry's public RDAP service.

Registration, last update and expiry dates, registrar and age in days for a domain, from the registry's public RDAP service.

## Facts

- Endpoint: `POST https://YOUR_API_HOST/v1/domain-age`
- Price: 2 credits per registered domain (unregistered domains are free)
- Charged: Only when a lookup finds something
- Cache: repeating the same lookup within 7 days is free

## Example request

```sh
curl -X POST https://YOUR_API_HOST/v1/domain-age \
  -H "Authorization: Bearer $LOOKVALID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'
```

## Response

The `data` object has 9 named fields. Every response also lists the sources behind the result, the credits charged and whether it was served from your cache.

| Field | Type | Description |
| --- | --- | --- |
| `domain` | string | The domain as queried, lowercase ASCII (punycode for internationalized names) |
| `registered` | true |  |
| `created_at` | string or null | ISO 8601 registration time; null when the registry does not publish it |
| `age_days` | integer or null | Whole days from registration to cache.cached_at (when this answer was computed; a cached answer is not recomputed); null when created_at is null |
| `updated_at` | string or null |  |
| `expires_at` | string or null |  |
| `registrar` | string or null |  |
| `status` | array of string | EPP/RDAP status codes such as "client transfer prohibited" |
| `rdap_server` | string | Base URL of the RDAP server that answered |

## Priced in credits

| Case | Charge |
| --- | --- |
| Found | 2 credits |
| Nothing found | 0 credits |
| Repeat inside 7 days | 0 credits |
| Errors and invalid requests | 0 credits |

## Questions

### How much does Domain Age cost?

2 credits per registered domain (unregistered domains are free). Credits come out of the one balance shared by every LookValid product.

### Am I charged when nothing is found?

No. When the lookup runs and finds nothing, it returns found: false and costs 0 credits. An error costs nothing either.

### How long are results cached?

For 7 days, per account. Repeating the same lookup inside that window returns cache_hit: true and costs 0 credits.

### Which API key do I use?

The same key as every other product. Send it as a Bearer token in the Authorization header. Email hello@lookvalid.com and we set up your account and send the key.

## Related products

- [Domain Authority](https://lookvalid.com/products/domain-authority.md): A 0 to 100 authority score for a domain, with every input shown: its Common Crawl web graph harmonic centrality and PageRank positions and its Majestic Million rank and referring subnets.
- [Website Scraper](https://lookvalid.com/products/website-scraper.md): Fetches a public web page and returns its title, metadata, readable text and links.
- [Website Contacts Scraper](https://lookvalid.com/products/website-contacts-scraper.md): Reads a domain's public pages and returns the email addresses, phone numbers and social profile links they publish.

Full request and response fields: [Domain Age reference](https://lookvalid.com/docs/api/domain-age.md).

## Related

- [Plans, trial and credit pricing](https://lookvalid.com/pricing.md)
- [Domain Age reference](https://lookvalid.com/docs/api/domain-age.md)
