Look up whether domain names are registered using official RDAP registry data.
Give this API up to 10 domain names and it will tell you whether each one has a registration record on file with the official registry. It uses RDAP — the modern, structured replacement for WHOIS — so there is no messy free-text parsing. Each domain comes back labeled 'registered', 'unregistered', or 'indeterminate' (when the registry does not support RDAP for that ending). Important: 'unregistered' means no record was found, which usually means the name is available — but reserved or premium names can also return no record. This API tells you registration status only; it does not tell you price, premium status, or whether a registrar will actually let you buy the name.
https://domain-availability-checker.underscoredone.com/check$0.01 per request — pay via x402/USDC. No account needed.
POST up to 10 plain registrable domain names (like 'example.com', not 'https://example.com' or 'sub.example.com') in the 'domains' array. Each result has a 'registered' field: true means a record exists, false means none was found, null means the result could not be determined. A false result does NOT guarantee the domain is purchasable — reserved and premium names can also return false. The 'tld_supported' field tells you whether RDAP coverage exists for that domain ending; if false, treat the result as inconclusive. Process results one at a time — the API paces lookups to avoid rate limits, so a 10-domain batch may take up to 5 seconds. Never interpret 'unregistered' as a purchase guarantee; always show the disclaimer to end users.
| Name | Type | Required | Description |
|---|---|---|---|
domains | array | yes | Between 1 and 10 domain names to check, like 'example.com'. Use the plain domain only — no 'https://', no 'www.', no subdomains. |
{
"domains": [
"example.com",
"mybrand.ai",
"coolstartup.io"
]
}{
"domains": []
}{
"domains": [
"https://example.com",
"sub.example.com",
"notadomain"
]
}{
"domains": [
"alpha.com",
"bravo.net",
"charlie.org",
"delta.io",
"echo.ai",
"foxtrot.co",
"golf.app",
"hotel.dev",
"india.xyz",
"juliet.tech"
]
}{
"count": 2,
"results": [
{
"domain": "example.com",
"registered": true,
"status": "registered",
"rdap_source": "registry",
"tld_supported": true,
"note": "A registration record exists for this domain."
},
{
"domain": "thisnameprobablyhasnorecord12345.ai",
"registered": false,
"status": "unregistered",
"rdap_source": "registry",
"tld_supported": true,
"note": "No registration record found. Usually means unregistered, but reserved or premium names can also return this result."
}
],
"queried_at": "2026-06-26T09:00:00Z",
"disclaimer": "Status reflects whether a registration record exists. It does not confirm price, premium status, or that an 'unregistered' name is purchasable at standard cost.",
"api_version": "1.0.0"
}
| Status | Meaning |
|---|---|
400 | Bad request — your input failed validation or could not be processed. Check the detail field for specifics. |
402 | Payment required. Send a signed USDC payment on Base Mainnet using the x402 protocol. |
422 | Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics. |