DNS Lookup: A, MX, TXT, NS Records with SPF and DMARC Check
Resolve public DNS records for a domain (A, AAAA, MX, TXT, NS, CNAME) and report whether SPF and DMARC records are present, with their policies. DNS queries only; no connection is made to the domain itself.
x402: $0.003 per callMCP tool: dns_lookup
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
domain * | string | Domain name, e.g. example.com. | |
types | array | Record types. Default: all. |
* required
Source and freshness
- Source and licence
- Stated in every response (field source).
- Last verified
- 2026-10-03 (hourly check against the live source)
Use it
HTTP (x402)
curl -i "https://api.ambolt.dev/v1/dns-lookup?domain=example.com"Returns 402 Payment Required with the price until an x402 payment is attached; @x402/fetch does this for you. See Get started.
MCP
{ "mcpServers": { "ambolt": { "url": "https://api.ambolt.dev/mcp" } } }
# then call the tool: dns_lookup
Apify
Not published as an Actor yet.
Example response
{
"domain": "example.com",
"records": {
"A": [
"172.66.147.243",
"104.20.23.154"
],
"AAAA": [
"2606:4700:10::ac42:93f3",
"2606:4700:10::6814:179a"
],
"NS": [
"hera.ns.cloudflare.com",
"elliott.ns.cloudflare.com"
],
"CNAME": [],
"MX": [
{
"exchange": "",
"priority": 0
}
],
"TXT": [
"v=spf1 -all",
"_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
]
},
"email": {
"spf": {
"record": "v=spf1 -all",
"allMechanism": "-all"
},
"dmarc": {
"record": "v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s",
"policy": "reject"
}
},
"resolvedAt": "2026-10-02T21:35:41.471Z"
}
Good to know
- You are charged only when the call succeeds. Invalid input or an unavailable source costs nothing.
- Every response states its source and the time it was fetched.
- Informational only; not financial, legal or tax advice.
- Something wrong or missing? Open an issue on the repository (ambolt-mcp) and a reply follows under the Ambolt name.