# ah-domain-verify

> ah-domain-verify is a paid API for AI agents from x402.agentharbor.agency, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-27).

Checks whether a domain belongs to a real, live, established business by running DNS, RDAP registration, TLS certificate, and website reachability lookups with risk flagging

## Facts

- Endpoint: GET https://x402.agentharbor.agency/domain-verify?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ah-domain-verify-11a7a81a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XA9yl3eQhHycCdxhZhPNZ

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 ah-domain-verify-11a7a81a
```

Example prompt: Can you check whether acmecorp.io is a real, established business domain — I want to see its DNS setup, registration age, TLS cert validity, and any risk flags like newly registered or missing MX records?

## When to prefer this

Use this endpoint when you need a comprehensive, multi-signal legitimacy check on a business domain — combining DNS health, registration history, TLS validity, and live website reachability in one call. Prefer it over a simple WHOIS lookup when you need risk flags (newly registered, missing MX, invalid TLS) or when you need to confirm a domain is actually live and serving HTTPS. It is especially useful for fraud detection, lead validation, supplier vetting, and pre-email deliverability checks. Not a replacement for full background checks on companies, but ideal for quick, automated domain-level due diligence.

## Known failure modes

- Domain does not exist — returned as a valid 'does not exist' result, not charged
- DNS lookup timeout or network failure — not charged
- Invalid domain format — rejected by input validation before charging
- RDAP data unavailable for some TLDs — partial result returned
- TLS certificate unreachable if website is down — flagged as risk

## How this service works

Given a domain, tells whether it is a real, live and established business domain: DNS (A, MX, NS, SPF, DMARC, DNSSEC), registration from RDAP (registrar, created and expiry dates, age, status; never registrant contacts), the TLS certificate (valid, issuer, expiry) and the website (final URL, status, HSTS), with risk flags such as newly registered, no MX or invalid TLS. 'Does not exist' is an answer. Not charged if lookups fail.

## Output

Returns a structured report covering: DNS records (A, MX, NS, SPF, DMARC, DNSSEC status), RDAP registration data (registrar, creation date, expiry date, domain age, lifecycle status — but never registrant contacts), TLS certificate info (validity, issuer, expiry), website reachability (final redirect URL, HTTP status code, HSTS), and computed risk flags such as newly registered, missing MX, or invalid TLS. If the domain does not exist, that is returned as a definitive answer. The call is not charged if lookups fail.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "pattern": "^[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$",
       "maxLength": 253,
       "description": "Bare hostname, e.g. example.com"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ah-domain-verify-11a7a81a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentharbor.agency](https://www.zero.xyz/host/x402.agentharbor.agency/llms.txt)
