Nameserver API

Look up every nameserver for a domain, plus its DNS records and WHOIS details, grouped by provider with a ready-to-paste comma-separated list.

No API key — full public access CORS enabled

Back to the checker

Base URL

https://myspedapi.projectbyod.com

All endpoints are open: no authentication, no keys, no rate-limit headers. Requests are allowed from any origin.

GET /api/public/nameservers

Query parameters: domain (required) and format (optional, json default or text for the plain comma-separated list).

curl "https://myspedapi.projectbyod.com/api/public/nameservers?domain=cloudflare.com"

# plain comma-separated list
curl "https://myspedapi.projectbyod.com/api/public/nameservers?domain=cloudflare.com&format=text"

POST /api/public/nameservers

curl -X POST "https://myspedapi.projectbyod.com/api/public/nameservers" \
  -H "Content-Type: application/json" \
  -d '{"domain":"cloudflare.com"}'

Response

{
  "ok": true,
  "domain": "cloudflare.com",
  "nameservers": ["ns3.cloudflare.com", "ns4.cloudflare.com", "ns5.cloudflare.com"],
  "commaSeparated": "ns3.cloudflare.com, ns4.cloudflare.com, ns5.cloudflare.com",
  "apexNameservers": ["ns3.cloudflare.com", "ns4.cloudflare.com", "ns5.cloudflare.com"],
  "delegationNameservers": [],
  "providers": [
    { "name": "Cloudflare", "nameservers": ["ns3.cloudflare.com", "ns4.cloudflare.com"] }
  ],
  "multiProvider": false,
  "cloudflareActive": true,
  "cloudflareMultiProvider": false,
  "resolvers": ["Google DNS", "Cloudflare DNS"],
  "records": [
    { "type": "A", "records": [{ "name": "cloudflare.com", "ttl": 300, "value": "104.16.132.229" }] },
    { "type": "MX", "records": [{ "name": "cloudflare.com", "ttl": 824, "value": "10 mxa.example.net" }] }
  ],
  "subdomains": ["www.cloudflare.com", "api.cloudflare.com", "blog.cloudflare.com"],
  "subdomainStatuses": [
    { "name": "www.cloudflare.com", "alive": true, "type": "A", "value": "104.16.132.229" },
    { "name": "old.cloudflare.com", "alive": false, "type": null, "value": null }
  ],
  "aliveSubdomains": ["www.cloudflare.com"],
  "deadSubdomains": ["old.cloudflare.com"],
  "whois": {
    "domain": "cloudflare.com",
    "registrar": "Cloudflare, Inc.",
    "registrant": null,
    "registrantOrg": null,
    "created": "2009-02-17T22:07:54Z",
    "updated": "2024-01-09T16:45:28Z",
    "expires": "2033-02-17T22:07:54Z",
    "statuses": ["client transfer prohibited"],
    "dnssec": true
  }
}
  • apexNameservers — NS records served from the zone itself.
  • delegationNameservers — NS records at the registry.
  • records — A, AAAA, CNAME, MX, TXT, NS, SOA, CAA and SRV records with TTLs; empty types are omitted.
  • subdomains — subdomains discovered in public certificate transparency logs (up to 500, wildcards normalised).
  • whois — registrar, registration dates, status codes and DNSSEC from RDAP; null when the registry has no RDAP service.
  • multiProvider / cloudflareMultiProvider — true when more than one authoritative provider serves the domain.

Errors

400 for an invalid or missing domain, 502 when the upstream resolvers fail.

{ "ok": false, "error": "Please enter a valid domain" }

JavaScript example

const res = await fetch(
  "https://myspedapi.projectbyod.com/api/public/nameservers?domain=example.com"
);
const data = await res.json();
console.log(data.commaSeparated);