Check whether domain names are registered
check_domain_availabilityCheck up to 25 domain names live against DNS and the registries' own RDAP records and say which are registered and which look available to register, with registration and expiry dates for lists of five or fewer. Pass alternativesFor with one name or label to check it across .com, .net, .org, .io, .ai, .co, .app, .dev and .xyz. Use it before suggesting any name as available: an answer from memory is often wrong. Use inspect_domain instead for the full public record of one name, and appraise_domain for what a name is worth. Status is unregistered (the registry has no record), likely_unregistered (no DNS and no RDAP for that suffix), registered or unknown; a registry can still reserve or premium-price a name that looks available. Read-only, free, no key; makes one or two DNS and RDAP requests per uncached name, runs no valuation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domains | No | Full domain names to check, up to 25, such as brightpath.com. Pasted URLs are accepted; duplicates are checked once. | |
| alternativesFor | No | One name or bare label, such as brightpath or brightpath.com, to check across nine popular suffixes. Combined with domains, the total is capped at 25. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Present with pending: code lookup_limit, retryable, retryAfterSeconds, and retry ({tool, arguments}: send it unchanged after that wait to continue exactly where this call stopped). Where a key lifts the limit, upgrade says how. | |
| budget | No | This request's uncached-lookup budget: lane (free or keyed), used, limit, remaining, and keyRejected when a key was sent and refused. Cached names cost nothing. | |
| caveat | Yes | ||
| citeAs | Yes | A structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a bracket, which withholds estimates by contract, and the recorded-sales tools, whose rows are not hashed) return an empty `appraisals`. A stored interval also has no ODVS record: its artifact digest is provenance, not a standalone proof of these projected fields. | |
| invalid | No | Inputs that are not domain names; nothing was looked up for them. | |
| pending | No | Names not checked because the lookup limit was reached. limit.retry is the call that checks them. | |
| results | Yes | ||
| citation | Yes | ||
| acquireUrl | No | Present on a short list whose wanted name is taken and not listed: a request for audit.domains to approach the owner (fee only if bought). | |
| forSaleCount | No | Taken names whose owner sells them (a live checkout here or the owner's own _for-sale DNS record); each carries forSale. | |
| availableCount | Yes | Names whose status is unregistered or likely_unregistered. |