Domain Info
Look up DNS records and check availability for any domain. Returns A, AAAA, MX, NS, TXT, and CNAME records alongside a registration availability flag derived from NS delegation.
Overview
Use Cases
- Domain availability checking before registration
- Email deliverability checks (MX record presence)
- Security audits and DNS reconnaissance
- Monitoring DNS propagation after record changes
Features
A and AAAA (IPv4 and IPv6) record lookup
MX record lookup for mail server detection
NS record lookup with availability inference
TXT record lookup for SPF, DKIM, and verification tokens
CNAME alias detection
Availability flag β true when the domain has no NS delegation (NXDOMAIN)
API Endpoints
Get Domain Info
Returns DNS records and availability status for the given domain.
GET
https://api.requiems.xyz/v1/tech/domain/{domain}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| domain | string |
Required | The domain to look up (e.g. example.com) |
Try it out
Live DemoRequest
The domain to look up (e.g. example.com)
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| domain | string |
The domain that was looked up |
| available | boolean |
True when the domain appears to be unregistered (NS lookup returns NXDOMAIN). False when name servers are delegated. |
| dns.a | array of strings |
IPv4 addresses (A records) |
| dns.aaaa | array of strings |
IPv6 addresses (AAAA records) |
| dns.mx | array of objects |
Mail exchange records, each with host and priority fields |
| dns.ns | array of strings |
Authoritative name server hostnames |
| dns.txt | array of strings |
TXT record values (SPF, DKIM, verification tokens, etc.) |
| dns.cname | string |
CNAME alias target, if the domain is an alias. Empty string when no alias exists. |
Code Examples
curl "https://api.requiems.xyz/v1/tech/domain/example.com" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
domain = "example.com"
url = f"https://api.requiems.xyz/v1/tech/domain/{domain}"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
data = response.json()
print(data["data"]["available"], data["data"]["dns"]["a"])
const domain = 'example.com';
const response = await fetch(`https://api.requiems.xyz/v1/tech/domain/${domain}`, {
headers: { 'requiems-api-key': 'YOUR_API_KEY' }
});
const data = await response.json();
console.log(data.data.available, data.data.dns.a);
require 'net/http'
require 'json'
domain = 'example.com'
uri = URI("https://api.requiems.xyz/v1/tech/domain/#{domain}")
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['available']
puts data['data']['dns']['a'].inspect
Error Responses
bad_request
The domain parameter is not a valid hostname (e.g. missing TLD, invalid characters, or leading/trailing hyphens).
Frequently Asked Questions
Availability is inferred from the NS (name server) lookup. When a domain has no delegated name servers the DNS resolver returns NXDOMAIN, which the API interprets as the domain being unregistered. Registered domains always have at least one NS record. Note that this is a heuristic β for authoritative availability data use a WHOIS service.
An empty string means the domain is not a CNAME alias. The field is only populated when the domain resolves to a different canonical name.
DNS record types are looked up independently. A domain may legitimately have no MX records (it doesn't receive email) or no AAAA records (IPv4 only). Empty arrays are always returned so the response shape is consistent.
Yes. Any valid hostname is accepted, including subdomains (e.g. mail.example.com or api.example.com).