Network & DNS

GET/api/v1/dns-trace

DNS Trace

Iterative DNS trace from a root server, through the TLD, to the authoritative nameserver.

Cost: 3 credits per request, out of 300 per day.

ParameterTypeRequiredDescription
domainstringYesDomain to trace.
typestringNoRecord type: A, AAAA, MX, NS, TXT, or CNAME. Defaults to A.

Example request

curl "https://netsh.io/api/v1/dns-trace?domain=example.com&type=A&api_key=YOUR_API_KEY"

Example response

{
  "ok": true,
  "data": {
    "domain": "example.com",
    "type": "A",
    "method": "iterative",
    "steps": [
      {
        "hop": 0, "stage": "root", "zone": ".",
        "server": { "name": "a.root-servers.net", "ip": "198.41.0.4", "source": "root-hints" },
        "queryName": "example.com", "queryType": "A", "transport": "udp",
        "outcome": "referral", "rcode": "NOERROR", "flags": { "aa": false, "tc": false, "ra": false }, "ms": 148, "error": null,
        "answers": [], "authority": [{ "name": "com", "type": "NS", "ttl": 172800, "data": "l.gtld-servers.net" }],
        "glueCount": 13, "nextZone": "com", "chosen": true
      },
      {
        "hop": 1, "stage": "tld", "zone": "com",
        "server": { "name": "l.gtld-servers.net", "ip": "192.41.162.30", "source": "glue" },
        "queryName": "example.com", "queryType": "A", "transport": "udp",
        "outcome": "referral", "rcode": "NOERROR", "flags": { "aa": false, "tc": false, "ra": false }, "ms": 159, "error": null,
        "answers": [], "authority": [{ "name": "example.com", "type": "NS", "ttl": 172800, "data": "elliott.ns.cloudflare.com" }],
        "glueCount": 0, "nextZone": "example.com", "chosen": true
      },
      {
        "hop": 2, "stage": "authoritative", "zone": "example.com",
        "server": { "name": "hera.ns.cloudflare.com", "ip": "173.245.58.162", "source": "glue" },
        "queryName": "example.com", "queryType": "A", "transport": "udp",
        "outcome": "answer", "rcode": "NOERROR", "flags": { "aa": true, "tc": false, "ra": false }, "ms": 13, "error": null,
        "answers": [{ "name": "example.com", "type": "A", "ttl": 300, "data": "104.20.23.154" }], "authority": [],
        "glueCount": 0, "nextZone": null, "chosen": true
      }
    ],
    "answer": {
      "status": "answer",
      "records": [{ "name": "example.com", "type": "A", "ttl": 300, "data": "104.20.23.154" }],
      "cnameChain": [],
      "authoritative": true,
      "zone": "example.com",
      "server": { "name": "hera.ns.cloudflare.com", "ip": "173.245.58.162" },
      "failure": null
    },
    "recursive": { "resolver": "system", "status": "ok", "records": ["104.20.23.154"], "ms": 12, "matchesIterative": true },
    "queries": 3,
    "totalMs": 335,
    "limitReached": false
  },
  "meta": { "tool": "dns-trace", "version": "v1" }
}
DNS Lookup