DNS lookup API

This DNS lookup API resolves a domain across up to nine record types in one call and returns one typed row per record — owner name, type, TTL and value — instead of the nested answer objects DNS tooling usually hands you. A, AAAA, MX, TXT and NS are queried by default; add CNAME, SOA, CAA and SRV when you want the full picture.

Resolution happens over Google's DNS-over-HTTPS endpoint through the TLS tier — no browser, no resolver library, no upstream key. One call answers what usually takes five dig invocations: who hosts it (A/AAAA), who handles its mail (MX), what it has verified or authorised (TXT, CAA), and where it delegates (NS). Alongside the WHOIS API for registration data and the Certificate Transparency API for issued certificates, it completes a domain footprint in three calls.

$0.0002 per delivered record, up to 100 records per run. Nothing delivered means nothing charged.

How the DNS lookup API works

Send a domain and optionally a types array. The collector fans the lookup out over DNS-over-HTTPS — one query per requested type — then flattens every answer into a row. Three details define the behaviour:

Inputs

domain is required. types narrows or widens the sweep — any subset of A, AAAA, MX, TXT, NS, CNAME, SOA, CAA and SRV, defaulting to the first five — and max_results caps delivered rows at up to 100, which only matters for TXT-heavy zones that have accumulated years of verification tokens.

What one record looks like

Each row is deliberately small: domain (the record's owner name), type, ttl in seconds, value exactly as the resolver returned it — an IP for A/AAAA, priority and host for MX, full text for TXT, the SOA tuple for SOA — plus a rank ordinal. The flat shape is the point: SELECT value FROM rows WHERE type = 'MX' is the entire consumption pattern.

What the DNS lookup API costs

$0.0002 per delivered record ($0.20 per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 10,000 records here. Volume tiers take up to 30% off.

$0.0002 per delivered record — $0.20 per 1,000. A default five-type sweep typically returns between 5 and 25 rows, so call it a tenth to half a cent per domain; a 10,000-domain audit lands in the

0–50 range depending on how record-heavy the zones are. The $2 monthly free allowance is good for 10,000 records with no card.

You pay for rows that arrive. An NXDOMAIN run delivers none and bills nothing.

DNS lookup API vs public DoH resolvers

Honestly: Google and Cloudflare both run free, keyless DNS-over-HTTPS endpoints, and for one type of one domain a plain GET against them is unbeatable. This collector uses Google's resolver upstream and does not pretend otherwise.

What it adds is everything a raw resolver deliberately does not do. A resolver answers one question per query, in DNS semantics — answer sections, numeric type codes, priorities packed into strings. This endpoint asks up to nine questions at once, decodes the answers into uniform rows, treats NXDOMAIN as a real error, meters usage per delivered row, and lives on the same key, schema and invoice as the rest of the catalog. For a one-off lookup that is overkill; across a pipeline auditing thousands of domains next to WHOIS and certificate data, it is the difference between a table you query and a protocol you parse.

Versus running dig in a loop

dig in a shell loop, or dnspython in a script, is genuinely fine for small jobs — this is the most DIY-able collector we run, and pretending otherwise would be silly. The costs show up at pipeline scale:

  • Type fan-out multiplies everything. Nine types over 10,000 domains is 90,000 resolver queries to schedule, retry and rate-limit — here each domain collapses into one call, with the fan-out handled behind the API.
  • Parsing is a per-type museum. MX priorities, TXT quoting and concatenation, SOA's seven-field tuple, CAA flags — every type has its own little format, and every script reimplements them slightly differently.
  • Empty versus absent versus broken. Distinguishing a domain with no TXT records from a failed query from a nonexistent domain is exactly the edge-case triage that quietly eats a monitoring job's reliability.

Keep dig for debugging — everyone does. Route the recurring sweeps through an endpoint that returns rows, or run your own stack over our residential proxies if you prefer owning the plumbing.

What people build with it

Email infrastructure audits

Pull MX and TXT for a customer list and deliverability posture reads straight off the rows — mail provider from value on MX, SPF, DKIM and DMARC from TXT. Agencies run this across every client domain weekly for a few cents.

Hosting and vendor detection

A and AAAA values reveal the CDN or cloud in front of a domain, NS reveals the DNS operator, CAA reveals which certificate authorities may issue. Together they answer what stack a company is on, at enrichment scale.

Change monitoring for domains you own

Snapshot the default five types daily and diff value against yesterday. An MX swap or an unfamiliar TXT verification token appearing in your own zone is an incident signal that costs twenty cents per thousand rows to watch.

Caps, NXDOMAIN and other edge cases

One run covers one domain across up to nine types and delivers at most 100 rows — in practice only zones with sprawling TXT inventories approach the cap. Nonexistent domains fail the run with an error and no charge; that is a feature, since it keeps "the domain is gone" distinguishable from "the domain has no MX". Runs are independent and parallelise up to your plan's throughput, 60 to 1,200 requests per minute by tier.

DNS is public infrastructure queried through a public resolver, so there is no legal cloud over the lookups themselves. Just remember the answers are one resolver's view at one moment: TTLs, anycast and split-horizon setups mean two vantage points can legitimately disagree.

FAQ

Which record types can the DNS lookup API return?

Nine: A, AAAA, MX, TXT, NS, CNAME, SOA, CAA and SRV. A call with no types parameter queries the first five, which covers hosting, mail and verification tokens; pass an explicit list when you want the rest.

What happens if the domain does not exist?

The run returns an error rather than an empty result, and delivers no billable rows. That distinction is deliberate — a monitoring job should never file NXDOMAIN under the same outcome as a domain that simply has no records of the requested type.

Do I need an API key or a resolver library for DNS lookups?

No resolver library and no upstream key — resolution runs over DNS-over-HTTPS on our side. The only credential involved is your QuantumProxies API key, the same one every other collector on the platform uses.

How much do DNS record lookups cost at volume?

Each delivered record row is $0.0002, so 1,000 rows cost twenty cents and a typical default sweep of one domain costs a fraction of a cent. The free monthly allowance covers 10,000 records, volume tiers cut the unit price further, and failed runs are never billed.

Related scrapers