Send a list of domain names and this tool tells you exactly how old each one is, when it w
Send a list of domain names and this tool tells you exactly how old each one is, when it was first registered, when it expires, and how much time is left before expiration. Great for spotting brand-new suspicious domains, researching competitors, or evaluating domains before buying or linking to them. Works with over 100 domain extensions worldwide.
10000 (raw units)
price
3
calls / 30d
3
unique payers
2026-09-14
updated
Provider
domain-age-checker.underscoredone.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"domains": [
"google.com",
"openai.com",
"github.com"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"api_version": "1.0.0",
"failed": 0,
"processed_at": "2024-07-27T14:22:01Z",
"results": [
{
"age": "26 Years 10 Months 12 Days",
"domainName": "google.com",
"expirationDate": "2028-09-14",
"expiringIn": "3 Years 1 Month 18 Days",
"lastUpdateDate": "2024-09-07",
"registrationDate": "1997-09-15",
"status": "success"
},
{
"age": "9 Years 3 Months 5 Days",
"domainName": "openai.com",
"expirationDate": "2026-04-18",
"expiringIn": "11 Months 22 Days",
"lastUpdateDate": "2024-11-01",
"registrationDate": "2015-04-18",
"status": "success"
}
],
"succeeded": 2,
"total": 2
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"domains": {
"description": "A list of domain names you want to look up. You can include plain domains like 'example.com' or full web addresses like 'https://example.com/page' — both work. Maximum 50 domains per request.",
"type": "array"
}
},
"required": [
"domains"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"api_version": {
"type": "string"
},
"failed": {
"type": "integer"
},
"processed_at": {
"type": "string"
},
"results": {
"items": {
"type": "object"
},
"type": "array"
},
"succeeded": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"required": [
"api_version",
"results",
"total",
"succeeded",
"failed",
"processed_at"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://domain-age-checker.underscoredone.com/lookup" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://domain-age-checker.underscoredone.com/lookup");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://domain-age-checker.underscoredone.com/lookup")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/3637.json, and this resource appears in /discovery/resources and /discovery/search.