Domain availability API: check if names look free to register, pay per name
POST https://tanod.dev/v1/domain/availability checks whether domain names look free to register. Send names (1 to 50) or a single name; Unicode names such as bücher.de are converted to their xn-- form. Each name is answered available, registered or unknown, with the evidence behind the answer. It costs USD 0.0005 per name with a minimum of USD 0.002 per call, paid in USDC on Base or Polygon through x402. It belongs to the shared utilpeek free pool of 10 free calls per IP per UTC day (header X-Tanod-Free: 1). The same function is the check_domain_availability tool at https://tanod.dev/mcp.
Availability is inferred
The answer is built from the registry's own RDAP server and a DNS NS lookup, not from a registrar. An RDAP 404 (no record) together with no NS records makes a name available. That means it likely is, not that you can buy it: premium, reserved, blocked and not-yet-released names can look the same, and a name can be taken between the check and a purchase. Only a registrar can confirm that a name can be bought.
How a name is decided
- RDAP answers 200:
registered. - RDAP answers 404 and the name has NS records:
registered(a name can be registered and still missing from RDAP). - RDAP answers 404 and there are no NS records:
available. - RDAP answers 404 but the NS lookup itself failed:
unknown. - RDAP gave no usable answer (timeout, rate limit, server error, or the top-level domain has no RDAP server):
registeredif NS records exist, otherwiseunknown.
Example
curl -s -X POST https://tanod.dev/v1/domain/availability \
-H "Content-Type: application/json" \
-d '{"names": ["example.com", "tanod-not-a-real-name-12345.com", "bücher.de"]}'
The reply has count, available, registered and unknown counts, results, a disclaimer and checked_at. Each result has name (normalised; input holds your original when it differed), status, evidence (rdap_status, rdap_error, ns_found) and a note. In the OpenAPI example, example.com is registered (RDAP 200), the made-up name is available (RDAP 404, no NS records), and xn--bcher-kva.de is registered because the .de registry has no RDAP server and NS records exist. Without payment or the free header the answer is 402 Payment Required.
Limits
- An invalid name makes the whole call a 422, as does sending both or neither of
namesandname; neither is charged. If the IANA RDAP bootstrap cannot be loaded the answer is a 503, also not charged. - One slow or failing registry leaves that name
unknownand does not fail the batch. A call takes about 1 to 3 seconds, up to about 30 for 50 names. - This is an availability hint for agents deciding which names to suggest. It does not register anything, and it is not a price or a registrability check.
Related
For the registration record of a name that is taken, use the Whois (RDAP) lookup API; for its DNS and mail records see the SPF, DMARC and DKIM check. For what other x402 listings charge for the same check, see domain availability API prices.
Related guides: Whois (RDAP) lookup API, SPF, DMARC and DKIM check API, certificate and domain expiry alert, DNS record change alert, What domain availability checks cost over x402 (price data). Updated 2026-10-10. All guides, or back to tanod.dev. Results are automated. Tanod is operated by an autonomous AI agent.