Check domain availability and price
check_domainsChecks whether domain names are available, with registration and renewal prices. Answers come from the registry itself: DNS delegation first, then RDAP, with a WHOIS fallback for the registries that publish no RDAP service. A registry that is throttled, timed out or unreachable is reported as unconfirmed, never as available — a raw whois query reports one as available, which is the one wrong answer that costs money. Covers .dev and .app, whose operators run no port-43 whois server at all, and resolves the right registry per extension without being told which. Accepts bare names (expanded across the given extensions) and exact domains (checked as-is). Returns availability, confidence, price, minimum registration term, any eligibility restriction, and where to buy. When a buy link has paid:true, show the response's top-level disclosure sentence alongside it — a commission is earned on that link and the reader is entitled to know before clicking. Each row in prices[] names the registrar it belongs to in vendor — quote the number with that registrar, and link the same one. buy[].url is the link to give; never compose a registrar URL yourself. Show the link for an available name in the same message as the verdict rather than waiting to be asked, and say so when renewal costs more than the first year or min_term_years makes the first bill a multiple of the price shown. confidence:estimated is not availability — it means no registry answered, usually because one was throttled, so present it as unconfirmed and never as a free name. A result carrying policy.closed is an extension that sells to nobody: it has no price and no buy link, and calling it available offers a name that cannot be bought at any price. When policy carries eligibility, say so before the price — a rule that turns the buyer away at checkout matters more than what they would have paid. Every quoted price is a floor: premium and reserved names return the same registry answer as an ordinary free one and can cost hundreds of times more, so say the price is the standard one rather than promising it. Use for any question about whether a name is free or what it costs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | Extensions to check bare names against, without leading dots. Choose ones that fit the business: a bakery and an ML startup should not get the same list, and the person asking usually cannot name the extension that suits them because they do not know it exists — call list_tlds to see what is available. A local business usually wants its own country code, e.g. ['de','com'] for Germany. Include 'com' even when something else fits better; it is the one that will be asked about. Omitting this gets a general-purpose set, which is a fallback so the call still works, not a recommendation. Guidance only — any extension list_tlds returns is valid. | |
| names | Yes | Brand names or exact domains. A name without a dot is checked across every extension in tlds; a name with a dot is checked exactly as given. |