Send up to 10 domain names and get back every DNS record type (A, AAAA, MX, CNAME, TXT, NS
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.
10000 (raw units)
price
3
calls / 30d
3
unique payers
2026-09-14
updated
Provider
dns-whois-lookup.underscoredone.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"domains": [
"onescales.com",
"hillms.com",
"underscore.com"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"api_version": "1.0.0",
"results": [
{
"checkedAt": "2026-06-15T01:45:08.607Z",
"dns_a": "23.227.38.65",
"dns_aaaa": "",
"dns_caa": "",
"dns_cname": "",
"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_naptr": "",
"dns_ns": "carter.ns.cloudflare.com | bonnie.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_tlsa": "",
"dns_txt": "openai-domain-verification=dv-Y9cDXv64Bj8Z6h43mpki1rgt | v=spf1 include:_spf.google.com ~all",
"domain": "onescales.com",
"whois_admin_country": "",
"whois_admin_email": "",
"whois_admin_name": "",
"whois_admin_org": "",
"whois_created": "2022-10-11T10:20:28Z",
"whois_expires": "2028-10-11T10:20:28Z",
"whois_iana_id": "1910",
"whois_nameservers": "bonnie.ns.cloudflare.com | carter.ns.cloudflare.com",
"whois_registrant_address": "",
"whois_registrant_country": "",
"whois_registrant_name": "",
"whois_registrant_org": "",
"whois_registrant_phone": "",
"whois_registrar": "Cloudflare, Inc.",
"whois_registrar_abuse_email": "[email protected]",
"whois_registrar_abuse_phone": "+1.6503198930",
"whois_registrar_url": "http://www.cloudflare.com",
"whois_status": "clientTransferProhibited",
"whois_updated": "2023-02-13T02:38:06Z"
}
]
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"domains": {
"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.",
"type": "array"
}
},
"required": [
"domains"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"api_version": {
"type": "string"
},
"results": {
"items": {
"type": "object"
},
"type": "array"
}
},
"required": [
"api_version",
"results"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://dns-whois-lookup.underscoredone.com/lookup" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://dns-whois-lookup.underscoredone.com/lookup");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://dns-whois-lookup.underscoredone.com/lookup")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/3628.json, and this resource appears in /discovery/resources and /discovery/search.