Skip to main content

DNS Records Library

A powerful DNS helper library that quickly discovers and retrieves all DNS records for any domain. Works seamlessly across browsers, Node.js, CloudFlare Workers, Deno, and Bun.

Quick start

Get DNS records for any domain in just a few steps

1

Install the package

Install @layered/dns-records using your preferred package manager:
npm install @layered/dns-records
2

Import the library

Import the functions you need from the package:
import { getDnsRecords, getAllDnsRecords } from '@layered/dns-records'
3

Retrieve DNS records

Query specific record types or get all records for a domain:
// Get specific record type
const txtRecords = await getDnsRecords('google.com', 'TXT')

// Get all DNS records for a domain
const allRecords = await getAllDnsRecords('x.com')
[
  { "name": "x.com", "ttl": 3600, "type": "NS", "data": "ns71.domaincontrol.com" },
  { "name": "x.com", "ttl": 600, "type": "A", "data": "160.153.63.10" },
  { "name": "www.x.com", "ttl": 3600, "type": "CNAME", "data": "x.com" },
  { "name": "x.com", "ttl": 3600, "type": "MX", "data": "10 mx-van.mail.am0.yahoodns.net" }
]

Key features

Everything you need for comprehensive DNS record discovery

Multiple record types

Retrieve A, AAAA, TXT, MX, CNAME, NS, SOA, CAA, and more DNS record types

Subdomain discovery

Automatically discover subdomains from common lists and DNS records

Wildcard detection

Detect and group wildcard DNS records automatically

Multiple resolvers

Choose from Cloudflare, Google, Node.js, or Deno DNS resolvers

Cross-runtime

Works in browsers, Node.js, CloudFlare Workers, Deno, and Bun

Streaming API

Stream DNS records as they’re discovered for large result sets

Ready to get started?

Start discovering DNS records in your application today with our quick start guide

View Quickstart

Build docs developers (and LLMs) love