GET /dns/{domain}

DNS lookup API

A name in. Its DNS records out.

Try it

Example response/dns/example.com?type=MX
{
  "domain": "example.com",
  
    
      "name": "example.com",
      "type": "MX",
      "ttl": 251,
      "value": "0 ."
    }
  ]
}

One pooled request. Included on Free.

What comes back.

domain

Queried DNS name, lowercase ASCII with a trailing dot removed. Internationalized names use Punycode

records

DNS answer records. Empty when the name exists with no records for the requested types. Typed lookups can include CNAME-chain records

1

Pass a DNS name

A domain, subdomain, service name, or reverse DNS name.

2

Choose a record type

Ask for TXT, MX, or any of the ten supported types. Omit type to look up all ten.

3

Use the records

Read each value with its record name, type, and remaining TTL.

Coverage

Public DNS names across top-level domains. Subdomains, internationalized names, service names, and reverse DNS names are supported.

Read the records published at a DNS name. Get addresses, mail routing, verification text, service records, and more in one JSON shape. Choose a record type or look up all ten supported types.

Use the exact name you need, from example.com to _dmarc.example.com. Each record includes its name, type, value, and remaining TTL in seconds. One API call uses one pooled request, including on Free.

Measured response times and live API status

Records, resolved.

Ten DNS record types in one API. Every plan.

Start includes 1M API requests a month for $20/mo.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/dns/example.com?type=MX" \
  -H "X-API-Key: YOUR_API_KEY"
// Example response · 200
{
  "domain": "example.com",
  "records": [
    {
      "name": "example.com",
      "type": "MX",
      "ttl": 251,
      "value": "0 ."
    }
  ]
}

API referenceSDKsKeys and authentication

Every response field

Response fields

domain
Queried DNS name, lowercase ASCII with a trailing dot removed. Internationalized names use Punycode
records
DNS answer records. Empty when the name exists with no records for the requested types. Typed lookups can include CNAME-chain records
records[].name
The DNS name that owns this record
records[].type
Record type: A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV, or PTR
records[].ttl
Remaining cache lifetime in whole seconds when the response is generated
records[].value
DNS answer text, preserved as returned. MX includes priority and host. TXT quotes, escapes, and chunk boundaries are retained when present. DNS names within values can retain a trailing dot

QUESTIONS

Which DNS record types can I look up?
A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV, and PTR. Set type to one of these values, or omit it to query all ten at the supplied name.
Can I look up DMARC, DKIM, and service records?
Yes. Pass the complete DNS name, such as _dmarc.example.com, selector._domainkey.example.com, or _sip._tcp.example.com. Choose TXT for DMARC or DKIM and SRV for service records.
How is a lookup counted?
Each API call uses one request from your plan's shared request pool. All ten supported record types are included on Free.
Can I use it for reverse DNS?
Yes. Send the full in-addr.arpa or ip6.arpa name with type=PTR. For example, /dns/8.8.8.8.in-addr.arpa?type=PTR.