# MailCheck Domain Check API

> MailCheck Domain Check API is a paid API for AI agents from mailcheck.toolschemaforge.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-31).

Checks one or more domains for DNS records, mail infrastructure health (SPF/DMARC/DKIM), RDAP registration data, and returns a deliverability grade

## Facts

- Endpoint: GET https://mailcheck.toolschemaforge.workers.dev/v1/domain-check?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mailcheck-domain-check-api-651ead12
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EEoUpK3NK05SC6HbykB9U

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 mailcheck-domain-check-api-651ead12
```

Example prompt: Can you check the email infrastructure for acme.com — I want to know if it has valid SPF, DMARC, and DKIM records set up, whether it accepts mail, and what deliverability grade it gets?

## When to prefer this

Choose this endpoint when you need comprehensive domain-level email infrastructure analysis in a single call — combining DNS, SPF/DMARC/DKIM, RDAP registration, and a deliverability grade — without signup or subscriptions, paying only per domain checked. Prefer it over general DNS lookup tools when you need the full mail security picture, or over WHOIS tools when you also need deliverability scoring.

## Known failure modes

- Invalid or malformed domain input returns valid:false with reasons
- Domain not found in DNS returns exists:false
- RDAP lookup may return null if registry does not support RDAP
- DKIM selector discovery may return empty array if no selectors found
- Payment failure (x402/Lightning) blocks the request before processing
- Rate limiting or network timeouts from upstream DNS/RDAP resolvers

## How this service works

Email address and domain checks for AI agents: syntax, MX, disposable/role/free flags, typo suggestions, SPF/DMARC/DKIM, RDAP and a deliverability grade. Pay per item with x402 (USDC on Base) or Lightning sats. No signup.

## Output

Returns a JSON object with a count and an array of per-domain results. Each result includes: input domain, validity flag, deliverability grade (A–F), numeric score, reasons array, DNS records (A, AAAA, MX, NS, TXT), mail config (accepts_mail, null_mx, parsed SPF, parsed DMARC, DKIM selectors found), and RDAP registration data (registrar, created/updated/expires dates, age_days, days_to_expiry, statuses, nameservers, DNSSEC).

## 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",
     "properties": {
      "domain": {
       "type": "string"
      },
      "domains": {
       "type": "string",
       "description": "Comma-separated domains"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "integer"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "input",
         "valid",
         "grade",
         "score",
         "reasons"
        ],
        "properties": {
         "dns": {
          "type": [
           "object",
           "null"
          ],
          "description": "a, aaaa, mx, ns, txt records and per-type lookup status"
         },
         "mail": {
          "type": [
           "object",
           "null"
          ],
          "description": "accepts_mail, null_mx, spf (parsed), dmarc (parsed), dkim (selectors found)"
         },
         "grade": {
          "enum": [
           "A",
           "B",
           "C",
           "D",
           "F"
          ],
          "type": "string"
         },
         "input": {
          "type": "string"
         },
         "score": {
          "type": "integer"
         },
         "valid": {
          "type": "boolean"
         },
         "domain": {
          "type": [
           "string",
           "null"
          ]
         },
         "exists": {
          "type": "boolean"
         },
         "reasons": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "registration": {
          "type": [
           "object",
           "null"
          ],
          "description": "RDAP: registrar, created, expires, updated, statuses, nameservers, dnssec, age_days, days_to_expiry"
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "results": [
   {
    "mail": {
     "spf": {
      "all": "-all",
      "present": true
     },
     "dkim": {
      "found": []
     },
     "dmarc": {
      "policy": "reject",
      "present": true
     },
     "null_mx": true,
     "accepts_mail": false
    },
    "grade": "A",
    "input": "example.org",
    "score": 100,
    "valid": true,
    "domain": "example.org",
    "exists": true,
    "reasons": [
     "null MX: domain declares it sends/receives no mail"
    ],
    "registration": {
     "status": "ok",
     "created": "1995-08-31T04:00:00Z",
     "expires": "2027-08-30T04:00:00Z",
     "registrar": "Example Registrar"
    }
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mailcheck-domain-check-api-651ead12/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mailcheck.toolschemaforge.workers.dev](https://www.zero.xyz/host/mailcheck.toolschemaforge.workers.dev/llms.txt)
