Get all DNS records and WHOIS data for up to 10 domains at once
Send up to 10 domain names and get back every DNS record type (A, AAAA, MX, CNAME, TXT, NS, PTR, SOA, SRV, CAA, NAPTR, DS, TLSA) plus the full WHOIS registration profile (registrar, dates, contacts, status, nameservers) for each one. URLs are accepted and automatically stripped down to the bare domain. Duplicate domains are quietly removed before processing. Results come back as one flat row per domain, ready to drop into a spreadsheet, database, or pipeline.
https://dns-whois-lookup.underscoredone.com/lookup$0.01 per request — pay via x402/USDC. No account needed.
POST an array of domain names (or full URLs) under the key 'domains'. You may send between 1 and 10 entries. The response is an array of objects, one per unique domain, each containing fields prefixed with 'dns_' (all 13 record types) and 'whois_' (full registration data). All fields are always present; empty string means no record found or data not available. Multiple values within a single record type are joined with ' | '. MX records are prefixed with their priority number. SOA is returned as a single human-readable string. DS and TLSA are attempted but silently left empty if unsupported. Raise a 400 error back to the caller if the API returns a 400. Never pass more than 10 domains in one call; split larger lists into batches.
| Name | Type | Required | Description |
|---|---|---|---|
domains | array | yes | A list of domain names or full web addresses to look up. You can pass bare domains like 'example.com', or full addresses like 'https://www.example.com/page' — the system will automatically extract just the domain. Send between 1 and 10 entries per request. |
{
"domains": [
"onescales.com",
"hillms.com",
"underscore.com"
]
}{
"domains": []
}{
"domains": [
"not_a_domain",
"!!!bad###"
]
}{
"domains": [
"example.com",
"google.com",
"cloudflare.com",
"github.com",
"stripe.com",
"openai.com",
"fastapi.tiangolo.com",
"python.org",
"pypi.org",
"docs.python.org"
]
}{
"api_version": "1.0.0",
"results": [
{
"domain": "onescales.com",
"checkedAt": "2026-06-15T01:45:08.607Z",
"dns_a": "23.227.38.65",
"dns_aaaa": "",
"dns_mx": "1 aspmx.l.google.com | 5 alt1.aspmx.l.google.com | 5 alt2.aspmx.l.google.com | 10 alt3.aspmx.l.google.com | 10 alt4.aspmx.l.google.com",
"dns_cname": "",
"dns_txt": "openai-domain-verification=dv-Y9cDXv64Bj8Z6h43mpki1rgt | v=spf1 include:_spf.google.com ~all",
"dns_ns": "bonnie.ns.cloudflare.com | carter.ns.cloudflare.com",
"dns_ptr": "",
"dns_soa": "mname=bonnie.ns.cloudflare.com rname=dns.cloudflare.com serial=2406862386 refresh=10000 retry=2400 expire=604800 minttl=1800",
"dns_srv": "",
"dns_caa": "",
"dns_naptr": "",
"dns_ds": "",
"dns_tlsa": "",
"whois_registrar": "Cloudflare, Inc.",
"whois_iana_id": "1910",
"whois_registrar_url": "http://www.cloudflare.com",
"whois_registrar_abuse_email": "[email protected]",
"whois_registrar_abuse_phone": "+1.6503198930",
"whois_created": "2022-10-11T10:20:28Z",
"whois_expires": "2028-10-11T10:20:28Z",
"whois_updated": "2023-02-13T02:38:06Z",
"whois_status": "clientTransferProhibited",
"whois_nameservers": "bonnie.ns.cloudflare.com | carter.ns.cloudflare.com",
"whois_registrant_name": "",
"whois_registrant_org": "",
"whois_registrant_address": "",
"whois_registrant_country": "",
"whois_registrant_phone": "",
"whois_admin_name": "",
"whois_admin_org": "",
"whois_admin_email": "",
"whois_admin_country": ""
}
]
}
| Status | Meaning |
|---|---|
400 | Bad request — your input failed validation or could not be processed. Check the detail field for specifics. |
402 | Payment required. Send a signed USDC payment on Base Mainnet using the x402 protocol. |
422 | Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics. |