# DNS Inventory Lookup API

> DNS Inventory Lookup API is a paid API for AI agents from x402-url-evidence.vercel.app, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-27).

Looks up DNS records for a given hostname and returns the values for specified record types (A, AAAA, CNAME, MX, NS, TXT).

## Facts

- Endpoint: POST https://x402-url-evidence.vercel.app/api/dns-inventory?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dns-inventory-lookup-api-aa393b0a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7jkSFAIB904x_Y74ZSqX_

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 dns-inventory-lookup-api-aa393b0a -d '<json body>'
```

Example prompt: Can you pull up all the DNS records for github.com — I want to see the A, MX, and TXT records?

## When to prefer this

Choose this endpoint when you need a deterministic, paid, programmatic DNS lookup with structured JSON output for specific record types. Prefer it over free public DNS APIs when you need reliable, auditable results settled on-chain, or when operating in an x402-native agent payment environment. It is especially useful when you need to inspect multiple record types (A, AAAA, CNAME, MX, NS, TXT) in a single call for a given hostname.

## Known failure modes

- Invalid or non-existent domain returns an error status per record type
- Unsupported record types are rejected at input validation
- Network/DNS resolution timeout may result in a failed status
- Malformed domain string (e.g. including URL path) causes a validation error
- Payment failure via x402 prevents the call from completing

## How this service works

Paid deterministic utility APIs settled in native USDC on Base.

## Output

Returns a JSON object containing the queried domain name, the list of requested record types, and for each type the resolution status ('ok' or error) and an array of resolved values (e.g. IP addresses, hostnames, TXT strings).

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "description": "DNS hostname without a URL path"
      },
      "recordTypes": {
       "type": "array",
       "items": {
        "enum": [
         "A",
         "AAAA",
         "CNAME",
         "MX",
         "NS",
         "TXT"
        ],
        "type": "string"
       }
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "domain": "example.com",
  "records": {
   "A": {
    "status": "ok",
    "values": [
     "93.184.216.34"
    ]
   }
  },
  "recordTypes": [
   "A"
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dns-inventory-lookup-api-aa393b0a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-url-evidence.vercel.app](https://www.zero.xyz/host/x402-url-evidence.vercel.app/llms.txt)
