# 402utils DNS Lookup

> 402utils DNS Lookup is a paid API for AI agents from 402utils.com, paid per call via x402, $0.001/call, status down (last checked 2026-10-13).

Resolves one or more DNS record types (A, AAAA, MX, TXT, NS, CNAME) for a domain via DNS-over-HTTPS, returning normalized records with TTLs

## Facts

- Endpoint: GET https://402utils.com/v1/dns-lookup?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: down
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-dns-lookup-c8cbde88
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jVnSZGi7PI0qbnmTaWSIl

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 402utils-dns-lookup-c8cbde88
```

Example prompt: What are the A and MX records for stripe.com — I want the IPs it resolves to and the mail servers, with their TTLs.

## When to prefer this

Use this endpoint when you need reliable, normalized DNS record resolution via DoH without running your own DNS resolver. Ideal for agents needing to verify email setup (MX/TXT/SPF), confirm domain routing (A/AAAA/CNAME), or audit nameservers — especially when NXDOMAIN needs to be handled gracefully as data rather than an error. Prefer over raw DNS when normalization (priority splitting, dot-stripping, quote removal) saves downstream parsing.

## Known failure modes

- Invalid or malformed domain name returns a validation error
- Unsupported record type string causes a bad request
- Domain does not exist — returned as nxdomain:true in the response body rather than an HTTP error
- Both Cloudflare and Google DoH unavailable — upstream timeout or service error
- Network or DNS timeout from upstream resolvers
- Missing required domain query parameter returns 400

## How this service works

Micro API utilities for AI agents, priced per call and paid in USDC over the x402 protocol. PDF, screenshot, OG-image and more — no signup, no keys.

## Output

A JSON object with the normalized domain queried, an array of DNS records (each with type, value, and TTL; MX records also include a numeric priority field), and an optional nxdomain boolean if the domain does not exist. TXT record quoting is stripped, trailing dots removed, and MX priority is split into its own field.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "type": {
       "type": "string",
       "default": "A",
       "description": "Record type(s): A, AAAA, MX, TXT, NS, CNAME. Comma-separate for several, e.g. A,MX. Case-insensitive."
      },
      "domain": {
       "type": "string",
       "format": "hostname",
       "description": "Bare domain name to resolve, e.g. example.com (required). No scheme, path, port or IP literal."
      }
     },
     "description": "Query string only."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "domain",
      "records"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "description": "Normalised (lowercased) domain that was resolved."
      },
      "records": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "type",
         "value",
         "ttl"
        ],
        "properties": {
         "ttl": {
          "type": "integer"
         },
         "type": {
          "enum": [
           "A",
           "AAAA",
           "MX",
           "TXT",
           "NS",
           "CNAME"
          ],
          "type": "string"
         },
         "value": {
          "type": "string"
         },
         "priority": {
          "type": "integer",
          "description": "MX records only."
         }
        }
       }
      },
      "nxdomain": {
       "type": "boolean",
       "description": "Present and true when the domain does not exist."
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "domain": "example.com",
  "records": [
   {
    "ttl": 300,
    "type": "A",
    "value": "93.184.215.14"
   },
   {
    "ttl": 3600,
    "type": "MX",
    "value": "mail.example.com",
    "priority": 10
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-dns-lookup-c8cbde88/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
