{"openapi":"3.1.0","info":{"title":"Domain Availability Checker","description":"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.","version":"1.0.0","contact":{"name":"_done","url":"https://forms.gle/5KzuSFH7p8hHtDmz7","email":"info@underscoredone.com"},"x-openapi-url":"https://domain-availability-checker.underscoredone.com/openapi.json","x-logo":{"url":"https://underscoredone.com/logo.png","altText":"_done"},"x-guidance":"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.","x-ai-instructions":"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.","x-provider":"_done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base.","x-pricing":{"model":"pay-per-call","currency":"USDC","network":"Base Mainnet","price":"$0.01"},"x-keywords":["network","domain","availability","checker","rdap","whois","domain-lookup","tld","registration-status","name-search","brand-naming","ai-agent","utility","api","pay-per-call","usdc","x402"],"x-category":"network","x-provider-url":"https://underscoredone.com","x-402":{"price":"$0.01","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","scheme":"exact","description":"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.","mime_type":"application/json"}},"paths":{"/check":{"post":{"tags":["Network"],"summary":"Look up whether domain names are registered using official RDAP registry data.","description":"Look up whether each submitted domain name has a registration record, using the official RDAP registry system.","operationId":"check_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckRequest"},"examples":{"typical":{"summary":"Typical input","value":{"domains":["example.com","mybrand.ai","coolstartup.io"]}},"zero_or_empty":{"summary":"Zero or empty input","value":{"domains":[]}},"negative_or_invalid":{"summary":"Invalid input (400 error)","value":{"domains":["https://example.com","sub.example.com","notadomain"]}},"large":{"summary":"Large input","value":{"domains":["alpha.com","bravo.net","charlie.org","delta.io","echo.ai","foxtrot.co","golf.app","hotel.dev","india.xyz","juliet.tech"]}}}}},"required":true},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResponse"},"examples":{"success":{"summary":"Successful response","value":{"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"}}}}}},"422":{"description":"Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array"}}}}}},"402":{"description":"Payment required. Send a signed USDC payment on Base Mainnet using the x402 protocol.","headers":{"X-Payment-Response":{"description":"x402 payment challenge — base64-encoded JSON with payment details.","schema":{"type":"string"}}}},"400":{"description":"Bad request — your input failed validation or could not be processed. Check the detail field for specifics.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}},"x-ai-instructions":"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.","x-guidance":"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.","x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.01"}},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"CheckRequest":{"properties":{"domains":{"items":{"type":"string"},"type":"array","maxItems":10,"minItems":1,"title":"Domains","description":"Between 1 and 10 domain names to check, like 'example.com'. Use the plain domain only — no 'https://', no 'www.', no subdomains."}},"type":"object","required":["domains"],"title":"CheckRequest","example":{"domains":["example.com","mybrand.ai","coolstartup.io"]}},"CheckResponse":{"properties":{"api_version":{"type":"string","title":"Api Version","description":"The version of this API.","default":"1.0.0"},"count":{"type":"integer","title":"Count","description":"How many domains were checked."},"results":{"items":{"$ref":"#/components/schemas/DomainResult"},"type":"array","title":"Results","description":"One result object for each domain you submitted."},"queried_at":{"type":"string","title":"Queried At","description":"The date and time the check was run, in UTC."},"disclaimer":{"type":"string","title":"Disclaimer","description":"An important reminder that 'unregistered' does not guarantee a domain is available to purchase."}},"type":"object","required":["count","results","queried_at","disclaimer"],"title":"CheckResponse","example":{"api_version":"1.0.0","count":1,"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.","queried_at":"2026-06-26T09:00:00Z","results":[{"domain":"example.com","note":"A registration record exists for this domain.","rdap_source":"registry","registered":true,"status":"registered","tld_supported":true}]}},"DomainResult":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain name that was checked."},"registered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Registered","description":"True if a registration record exists, false if none was found, null if the result could not be determined."},"status":{"type":"string","title":"Status","description":"One of 'registered', 'unregistered', or 'indeterminate'."},"rdap_source":{"type":"string","title":"Rdap Source","description":"Where the lookup was performed — usually 'registry'."},"tld_supported":{"type":"boolean","title":"Tld Supported","description":"Whether RDAP is available for this domain ending. If false, treat the result as inconclusive."},"note":{"type":"string","title":"Note","description":"A plain-English explanation of the result."}},"type":"object","required":["domain","registered","status","rdap_source","tld_supported","note"],"title":"DomainResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"siwx":{"type":"apiKey","in":"header","name":"SIGN-IN-WITH-X","description":"CAIP-122 wallet signature for repeat access after payment"}}},"servers":[{"url":"https://domain-availability-checker.underscoredone.com","description":"Production"}]}