{"openapi":"3.1.0","info":{"title":"Domain Age Checker","description":"Send a list of domain names and this tool tells you exactly how old each one is, when it was first registered, when it expires, and how much time is left before expiration. Great for spotting brand-new suspicious domains, researching competitors, or evaluating domains before buying or linking to them. Works with over 100 domain extensions worldwide.","version":"1.0.0","contact":{"name":"_done","url":"https://forms.gle/5KzuSFH7p8hHtDmz7","email":"info@underscoredone.com"},"x-openapi-url":"https://domain-age-checker.underscoredone.com/openapi.json","x-logo":{"url":"https://underscoredone.com/logo.png","altText":"_done"},"x-guidance":"POST a JSON body with a 'domains' list of domain name strings (plain domains or full URLs both work). Each result includes 'domainName', 'age' as a human-readable string, 'registrationDate', 'lastUpdateDate', 'expirationDate', 'expiringIn' as a human-readable string, and 'status' which is 'success' or 'error'. If WHOIS data cannot be retrieved for a domain, that entry will have status 'error' and an 'error' field explaining why — other domains in the batch still return normally. Strip URLs down to bare domains before lookup. Batch size is capped at 50 domains per request.","x-ai-instructions":"POST a JSON body with a 'domains' list of domain name strings (plain domains or full URLs both work). Each result includes 'domainName', 'age' as a human-readable string, 'registrationDate', 'lastUpdateDate', 'expirationDate', 'expiringIn' as a human-readable string, and 'status' which is 'success' or 'error'. If WHOIS data cannot be retrieved for a domain, that entry will have status 'error' and an 'error' field explaining why — other domains in the batch still return normally. Strip URLs down to bare domains before lookup. Batch size is capped at 50 domains per request.","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":["domain age","domain age checker","whois lookup","whois","domain registration","domain expiry","domain expiration","domain research","bulk domain lookup","domain history","suspicious domain","new domain detection","domain intelligence","dns","network","utility","api","ai-agent","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://facilitator.payai.network","scheme":"exact","description":"Send a list of domain names and this tool tells you exactly how old each one is, when it was first registered, when it expires, and how much time is left before expiration. Great for spotting brand-new suspicious domains, researching competitors, or evaluating domains before buying or linking to them. Works with over 100 domain extensions worldwide.","mime_type":"application/json"}},"paths":{"/lookup":{"post":{"tags":["Network"],"summary":"Check how old a list of domains is and when they expire","description":"Check how old a list of domains is, when they were registered, and when they expire.","operationId":"handler_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainLookupRequest"},"examples":{"typical":{"summary":"Typical input","value":{"domains":["google.com","openai.com","github.com"]}},"zero_or_empty":{"summary":"Zero or empty input","value":{"domains":[]}},"negative_or_invalid":{"summary":"Invalid input (400 error)","value":{"domains":["not_a_domain","!!!bad###",""]}},"large":{"summary":"Large input","value":{"domains":["site1.com","site2.net","site3.org","site4.io","site5.co","site6.ai","site7.dev","site8.app","site9.tech","site10.online","site11.store","site12.shop","site13.blog","site14.cloud","site15.agency","site16.media","site17.studio","site18.global","site19.live","site20.news"]}}}}},"required":true},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainLookupResponse"},"examples":{"success":{"summary":"Successful response","value":{"api_version":"1.0.0","results":[{"domainName":"google.com","age":"26 Years 10 Months 12 Days","registrationDate":"1997-09-15","lastUpdateDate":"2024-09-07","expirationDate":"2028-09-14","expiringIn":"3 Years 1 Month 18 Days","status":"success"},{"domainName":"openai.com","age":"9 Years 3 Months 5 Days","registrationDate":"2015-04-18","lastUpdateDate":"2024-11-01","expirationDate":"2026-04-18","expiringIn":"11 Months 22 Days","status":"success"}],"total":2,"succeeded":2,"failed":0,"processed_at":"2024-07-27T14:22:01Z"}}}}}},"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 a JSON body with a 'domains' list of domain name strings (plain domains or full URLs both work). Each result includes 'domainName', 'age' as a human-readable string, 'registrationDate', 'lastUpdateDate', 'expirationDate', 'expiringIn' as a human-readable string, and 'status' which is 'success' or 'error'. If WHOIS data cannot be retrieved for a domain, that entry will have status 'error' and an 'error' field explaining why — other domains in the batch still return normally. Strip URLs down to bare domains before lookup. Batch size is capped at 50 domains per request.","x-guidance":"POST a JSON body with a 'domains' list of domain name strings (plain domains or full URLs both work). Each result includes 'domainName', 'age' as a human-readable string, 'registrationDate', 'lastUpdateDate', 'expirationDate', 'expiringIn' as a human-readable string, and 'status' which is 'success' or 'error'. If WHOIS data cannot be retrieved for a domain, that entry will have status 'error' and an 'error' field explaining why — other domains in the batch still return normally. Strip URLs down to bare domains before lookup. Batch size is capped at 50 domains per request.","x-payment-info":{"price":{"fixed":{"mode":"fixed","currency":"USD","amount":"0.01"}},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"DomainLookupRequest":{"properties":{"domains":{"items":{"type":"string"},"type":"array","title":"Domains","description":"A list of domain names you want to look up. You can include plain domains like 'example.com' or full web addresses like 'https://example.com/page' — both work. Maximum 50 domains per request."}},"type":"object","required":["domains"],"title":"DomainLookupRequest","example":{"domains":["google.com","openai.com","github.com"]}},"DomainLookupResponse":{"properties":{"api_version":{"type":"string","title":"Api Version","description":"API version","default":"1.0.0"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results","description":"One result entry per domain you submitted, in the same order."},"total":{"type":"integer","title":"Total","description":"Total number of domains you submitted."},"succeeded":{"type":"integer","title":"Succeeded","description":"How many domains returned successful registration data."},"failed":{"type":"integer","title":"Failed","description":"How many domains could not be looked up."},"processed_at":{"type":"string","title":"Processed At","description":"The exact date and time this lookup was completed."}},"type":"object","required":["results","total","succeeded","failed","processed_at"],"title":"DomainLookupResponse","example":{"api_version":"1.0.0","failed":0,"processed_at":"2024-07-27T14:22:01Z","results":[{"age":"26 Years 10 Months 12 Days","domainName":"google.com","expirationDate":"2028-09-14","expiringIn":"3 Years 1 Month 18 Days","lastUpdateDate":"2024-09-07","registrationDate":"1997-09-15","status":"success"},{"age":"9 Years 3 Months 5 Days","domainName":"openai.com","expirationDate":"2026-04-18","expiringIn":"11 Months 22 Days","lastUpdateDate":"2024-11-01","registrationDate":"2015-04-18","status":"success"}],"succeeded":2,"total":2}},"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-age-checker.underscoredone.com","description":"Production"}]}