DNS Access Methods

Query ResolveDB data using standard DNS, DNS-over-HTTPS (DoH), or DNS-over-TLS (DoT).

TL;DR

ResolveDB data is accessible via any DNS method. Pick what fits your environment.

MethodWhen to UsePrivacySetup
Standard DNSCLI tools, system resolversNoneZero
DoH JSON APIBrowsers, REST clients, debuggingEncryptedHTTPS call
DoH Wire FormatDNS libraries, system integrationEncryptedRFC 8484
DoTNetwork-level privacyEncryptedPort 853

Quick Comparison

Standard DNS (UDP/TCP 53)

Query directly using dig, nslookup, or any DNS library. Fast, cached globally, but queries are plaintext.

dig TXT get.newyork.weather.public.v1.resolvedb.net +short

DoH JSON API

Human-readable JSON responses. Perfect for browsers and debugging. Use standard fetch() or curl.

curl "https://api.resolvedb.io/resolve?name=get.newyork.weather.public.v1.resolvedb.net&type=TXT"

DoH JSON API Documentation

DoH Wire Format (RFC 8484)

Standard DNS wire format over HTTPS. Compatible with DNS libraries and system resolvers.

# Base64url-encoded DNS query
curl "https://api.resolvedb.io/dns-query?dns=..." \
  -H "Accept: application/dns-message"

DoH Wire Format Documentation

DoT (Port 853)

DNS-over-TLS for encrypted queries at the transport layer.

kdig +tls get.newyork.weather.public.v1.resolvedb.net TXT @api.resolvedb.io

Choosing the Right Method

For Web Applications

Use the DoH JSON API. It works with standard fetch(), returns readable JSON, and encrypts queries.

const response = await fetch(
  'https://api.resolvedb.io/resolve?name=get.quebec.weather.public.v1.resolvedb.net&type=TXT'
);
const data = await response.json();

For CLI and Scripts

Use standard DNS for simplicity, or DoH JSON if you need encryption:

# Standard DNS (fastest, cached)
dig TXT get.quebec.weather.public.v1.resolvedb.net +short

# DoH JSON (encrypted)
curl -s "https://api.resolvedb.io/resolve?name=get.quebec.weather.public.v1.resolvedb.net&type=TXT" | jq

For System Integration

Use DoH Wire Format when integrating with DNS libraries or configuring system resolvers:

import dns.query
import dns.message

# Build query
query = dns.message.make_query('get.quebec.weather.public.v1.resolvedb.net', 'TXT')

# Send via DoH
response = dns.query.https(query, 'https://api.resolvedb.io/dns-query')

For Network Privacy

Configure DoT on your resolver for transparent encryption of all DNS queries:

Server: api.resolvedb.io
Port: 853
Protocol: TLS

Endpoints

EndpointProtocolFormat
resolvedb.net (port 53)UDP/TCPWire
api.resolvedb.io/resolveHTTPSJSON
api.resolvedb.io/dns-queryHTTPSWire
api.resolvedb.io (port 853)TLSWire

Next Steps