Bulk DNS Lookup API - Fetch DNS Records in Bulk for Hundreds of Domains
Our Bulk DNS Lookup API is designed to streamline DNS management by allowing you to perform bulk DNS lookups with ease. This powerful tool enables you to fetch DNS records for hundreds of domains in one request, including A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME records. Ideal for those needing DNS bulk lookup, it enhances efficiency and accuracy for network administrators, domain managers, and cybersecurity professionals handling large-scale DNS queries. For single-domain lookups, see the DNS Lookup API.
Features
Real-Time DNS Search
Leverage our Bulk DNS Lookup API to conduct real-time DNS searches for multiple domains within a single request. This feature enables you to execute live DNS lookups, providing the most current and accurate DNS records across hundreds of domains simultaneously. Our API delivers up-to-date information on A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME records, empowering you to swiftly identify and resolve domain-related issues.
Targeted DNS Record Retrieval
When conducting bulk DNS lookups with our API, you can precisely select from A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME records for each hostname included in your request. This targeted lookup capability enables you to filter out unnecessary data, streamlining your DNS checks and improving efficiency.
100 Hostnames per Request
Maximize efficiency with our Bulk DNS Lookup API, which supports up to 100 hostnames per request. This advanced feature enables you to process extensive batches of hostname queries simultaneously, significantly streamlining your workflow and conserving valuable time. By handling large-scale DNS lookups in a single request, our API enhances your operational productivity and provides seamless management of multiple hostnames, ensuring rapid and accurate results for effective domain administration.
API Endpoint
$ pip install requestsimport requests
import json
url = "https://api.apifreaks.com/v1.0/domain/dns/live?type=all"
payload = json.dumps({
"domainNames":[
"google.com",
"paypal.us"
]
})
headers = {
'Content-Type': 'application/json',
'X-apiKey': 'API-KEY'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
A maximum of 100 host-names can be included in the request body for a bulk lookup request.
How to Guides
Lookup Specific DNS Records
To look up specific DNS records, including A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME, include the type parameter in your request. Specify a comma-separated list of record types for targeted lookups, or use all to obtain all supported DNS records for each hostname.
{ "bulk_dns_info": [ { "status": true, "queryTime": "2026-07-02 07:31:39", "domainName": "paypal.us", "domainRegistered": true, "dnsTypes": { "A": 1, "MX": 15 }, "dnsRecords": [ { "name": "paypal.us", "type": 1, "dnsType": "A", "ttl": 3600, "rawText": "paypal.us. 3600 IN A 3.33.139.32", "rRsetType": 1, "address": "3.33.139.32" }, { "name": "paypal.us", "type": 15, "dnsType": "MX", "ttl": 21600, "rawText": "paypal.us. 21600 IN MX 1 bh.markmonitor.com.", "rRsetType": 15, "target": "bh.markmonitor.com.", "priority": 1 } ] }, { "status": true, "queryTime": "2026-07-02 07:31:39", "domainName": "google.com", "domainRegistered": true, "dnsTypes": { "A": 1, "MX": 15 }, "dnsRecords": [ { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.113", "rRsetType": 1, "address": "142.250.27.113" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.100", "rRsetType": 1, "address": "142.250.27.100" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.101", "rRsetType": 1, "address": "142.250.27.101" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.102", "rRsetType": 1, "address": "142.250.27.102" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.138", "rRsetType": 1, "address": "142.250.27.138" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 86, "rawText": "google.com. 86 IN A 142.250.27.139", "rRsetType": 1, "address": "142.250.27.139" }, { "name": "google.com", "type": 15, "dnsType": "MX", "ttl": 278, "rawText": "google.com. 278 IN MX 10 smtp.google.com.", "rRsetType": 15, "target": "smtp.google.com.", "priority": 10 } ] } ] }curl -X 'POST' 'https://api.apifreaks.com/v1.0/domain/dns/live?type=A%2CMX' -H 'Content-Type: application/json' -H 'X-apiKey: API-KEY' -d '{ "domainNames": [ "google.com", "paypal.us" ] }'
FInd DNS Records By Hostname / URL
Submit hostnames or URLs in the request body. Our API will return the corresponding DNS records for each entry, providing precise and comprehensive data tailored to your requirements.
{ "bulk_dns_info": [ { "status": true, "queryTime": "2026-07-02 07:28:50", "domainName": "chatgpt.com", "domainRegistered": true, "dnsTypes": { "A": 1 }, "dnsRecords": [ { "name": "chatgpt.com", "type": 1, "dnsType": "A", "ttl": 300, "rawText": "chatgpt.com. 300 IN A 104.18.32.47", "rRsetType": 1, "address": "104.18.32.47" }, { "name": "chatgpt.com", "type": 1, "dnsType": "A", "ttl": 300, "rawText": "chatgpt.com. 300 IN A 172.64.155.209", "rRsetType": 1, "address": "172.64.155.209" } ] }, { "status": true, "queryTime": "2026-07-02 07:28:50", "domainName": "google.com", "domainRegistered": true, "dnsTypes": { "A": 1, "MX": 15 }, "dnsRecords": [ { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.138", "rRsetType": 1, "address": "142.250.102.138" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.139", "rRsetType": 1, "address": "142.250.102.139" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.101", "rRsetType": 1, "address": "142.250.102.101" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.102", "rRsetType": 1, "address": "142.250.102.102" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.100", "rRsetType": 1, "address": "142.250.102.100" }, { "name": "google.com", "type": 1, "dnsType": "A", "ttl": 258, "rawText": "google.com. 258 IN A 142.250.102.113", "rRsetType": 1, "address": "142.250.102.113" }, { "name": "google.com", "type": 15, "dnsType": "MX", "ttl": 109, "rawText": "google.com. 109 IN MX 10 smtp.google.com.", "rRsetType": 15, "target": "smtp.google.com.", "priority": 10 } ] } ] }curl -X 'POST' 'https://api.apifreaks.com/v1.0/domain/dns/live?type=A%2CMX' -H 'Content-Type: application/json' -H 'X-apiKey: API-KEY' -d '{ "domainNames": [ "google.com", "chatgpt.com" ] }'
Pricing
To use the Bulk DNS Lookup API, API credits are required. Charges apply only for successful queries, which are defined by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be refunded. Credits are applied based on each domain name specified in your request. If an error occurs with a specific domain name, credits will be refunded for that domain, and you will be charged only for successful DNS lookups.
| Service | Credits |
|---|---|
| DNS Data per Domain Name | 15 credits per successful domain name DNS lookup |
Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.