# DNS & WHOIS Bulk Lookup

> DNS & WHOIS Bulk Lookup is a paid API for AI agents from dns-whois-lookup.underscoredone.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-18).

Looks up all DNS record types and full WHOIS registration data for up to 10 domains in a single request, returning one flat row per domain.

## Facts

- Endpoint: POST https://dns-whois-lookup.underscoredone.com/lookup?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dns-whois-bulk-lookup-58c39286
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1RSOhXQOvGL-1boQFP6Ie

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dns-whois-bulk-lookup-58c39286 -d '<json body>'
```

Example prompt: Can you pull the full DNS records and WHOIS info for these three domains — github.com, stripe.com, and openai.com? I want to see registrar, expiry date, nameservers, MX, TXT, and A records all in one go.

## When to prefer this

Choose this endpoint when you need both DNS records and WHOIS registration data in a single call for up to 10 domains. It is ideal for domain intelligence pipelines, cybersecurity research, due diligence workflows, or spreadsheet enrichment where you want a flat, combined row per domain rather than making separate DNS and WHOIS API calls. It automatically handles URL stripping and deduplication, making it convenient for messy input lists.

## Known failure modes

- Invalid or unresolvable domain returns empty or null DNS fields
- Domain with no WHOIS record (e.g. private TLD) returns empty WHOIS fields
- More than 10 domains submitted causes request rejection or truncation
- Malformed input (non-string entries in array) causes validation error
- Rate limiting or payment failure (x402) prevents the call from completing
- Recently registered or propagating domains may return incomplete DNS data

## How this service works

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.

## Output

Returns one flat row per domain containing all DNS record types (A, AAAA, MX, CNAME, TXT, NS, PTR, SOA, SRV, CAA, NAPTR, DS, TLSA) and the full WHOIS registration profile (registrar, creation/expiry/updated dates, registrant/admin/tech contacts, domain status flags, and nameservers). URLs are automatically reduced to bare domains, and duplicates are de-duplicated before processing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "domains": {
   "type": "array",
   "description": "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."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "results": [
   {
    "dns_a": "23.227.38.65",
    "dns_ds": "",
    "dns_mx": "5 alt2.aspmx.l.google.com | 1 aspmx.l.google.com | 10 alt3.aspmx.l.google.com | 10 alt4.aspmx.l.google.com | 5 alt1.aspmx.l.google.com",
    "dns_ns": "carter.ns.cloudflare.com | bonnie.ns.cloudflare.com",
    "domain": "onescales.com",
    "dns_caa": "",
    "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_txt": "openai-domain-verification=dv-Y9cDXv64Bj8Z6h43mpki1rgt | v=spf1 include:_spf.google.com ~all",
    "dns_aaaa": "",
    "dns_tlsa": "",
    "checkedAt": "2026-06-15T01:45:08.607Z",
    "dns_cname": "",
    "dns_naptr": "",
    "whois_status": "clientTransferProhibited",
    "whois_created": "2022-10-11T10:20:28Z",
    "whois_expires": "2028-10-11T10:20:28Z",
    "whois_iana_id": "1910",
    "whois_updated": "2023-02-13T02:38:06Z",
    "whois_admin_org": "",
    "whois_registrar": "Cloudflare, Inc.",
    "whois_admin_name": "",
    "whois_admin_email": "",
    "whois_nameservers": "bonnie.ns.cloudflare.com | carter.ns.cloudflare.com",
    "whois_admin_country": "",
    "whois_registrar_url": "http://www.cloudflare.com",
    "whois_registrant_org": "",
    "whois_registrant_name": "",
    "whois_registrant_phone": "",
    "whois_registrant_address": "",
    "whois_registrant_country": "",
    "whois_registrar_abuse_email": "registrar-abuse@cloudflare.com",
    "whois_registrar_abuse_phone": "+1.6503198930"
   }
  ],
  "api_version": "1.0.0"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dns-whois-bulk-lookup-58c39286/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from dns-whois-lookup.underscoredone.com](https://www.zero.xyz/host/dns-whois-lookup.underscoredone.com/llms.txt)
