This service offers a REST API allowing to perform DNS queries over HTTP from multiple locations worldwide, and to get reverse PTR records for both IPv4 and IPv6 addresses. It outputs JSON-encoded DNS responses, and supports both Cross-origin resource sharing (CORS) and JSONP.

There is no rate limit of any sort at the moment, but we ask you to use the service on a reasonable basis (i.e.: no repeated automated queries).

Making queries

We provide a list of all available nodes in JSON format: nodes.json

None of the nodes listed should perform NXDOMAIN hijacking.

If you notice such behaviour with any of the listed nodes, please contact us.

Getting Resources Records

URL Scheme: /node/domain/querytype

List of commands

Get Host Address (A records)
Get IPv6 Host Address (AAAA records)
Get Certificate (CERT records)
Get Canonical Name (CNAME records)
Get DHCP Identifier (DHCID records)
Get DNSSEC Lookaside Validation record (DLV records)
Get Delegation name (DNAME records)
Get DNS Key record (DNSKEY records)
Get Delegation Signer (DS records)
Get Host Information (HINFO records)
Get Host Identity Protocol (HIP records)
Get Key eXchanger record (KX records)
Get Location record (LOC records)
Get Mail Exchange record (MX records)
Get Name Authority Pointer (NAPTR records)
Get Name Servers (NS records)
Get Next-Secure record (NSEC records)
Get NSEC record version 3 (NSEC3 records)
Get NSEC3 parameters (NSEC3PARAM records)
Get Option record (OPT records)
Get Pointer record (PTR records)
Get Resource Records Signature (RRSIG records)
Get Start of Authority (SOA record)
Get Sender Policy Framework (SPF records)
Get Service Locator (SRV records)
Get SSH Public Key Fingerprint (SSHFP records)
Get DNSSEC Trust Authorities (TA records)
Get Trust Anchor LINK (TALINK records)
Get TLSA records
Get Text record (TXT records)

Getting Reverse PTR Records (for both IPv4 and IPv6 addresses)

URL Scheme: /node/x/ip

List of commands

Get reverse (PTR) record from IPv4 addresses
Get reverse (PTR) record from IPv6 addresses

JSON Output Schema

The output is a JSON object containing the following arrays, representing the appropriate sections of DNS packets:

Question section

Answer, Authority, Additional sections


Client Errors

When incorrect user input is entered, the server returns an HTTP 400 Error (Bad Request), along with a JSON-encoded error message.

HTTP ErrorCodeMessage
400401Input string could not be parsed
400402Input string is not a well-formed domain name
400403Input string is not a valid IP address
400404Invalid DNS query type

Server Errors

When the DNS server cannot be reached or returns an error, the server returns an HTTP 500 Error (Internal Server Error), along with a JSON-encoded error message.

HTTP ErrorCodeMessage
500501DNS server could not be reached
500502The name server encountered an internal failure while processing this request (SERVFAIL)
500503Some name that ought to exist, does not exist (NXDOMAIN)
500505The name server refuses to perform the specified operation for policy or security reasons (REFUSED)

This site is valid HTML5 and CSS 3