# MailCheck API: Email and Domain Checks

> MailCheck API: Email and Domain Checks 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).

Validates email addresses by checking syntax, MX records, disposable/role/free flags, typo suggestions, and SPF/DMARC/DKIM authentication, returning a deliverability grade and verdict.

## Facts

- Endpoint: GET https://mailcheck.toolschemaforge.workers.dev/v1/email-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-api-email-and-domain-checks-de0fb604
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TI40EhDjgCkLBjN3J6AMa

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-api-email-and-domain-checks-de0fb604
```

Example prompt: Can you check whether jane.doe@gmial.com is a valid, deliverable email address — flag if it looks like a typo, a disposable address, or a role account, and give me a deliverability score?

## When to prefer this

Choose this endpoint when you need a comprehensive, per-item email validation that goes beyond simple regex — including MX/DNS checks, disposable address detection, typo correction, deliverability scoring, and SPF/DMARC/DKIM checks — with no API key or signup required and pay-per-call pricing via USDC or Lightning.

## Known failure modes

- Missing email or emails query parameter returns an error
- Invalid or malformed email input may return syntax_valid: false with a reason code
- DNS lookup failures for MX records result in mx.status: error or skipped
- Payment not included or insufficient results in HTTP 402 payment required
- Rate limiting or quota exceeded may return HTTP 429
- Non-existent domain returns mx.status: nxdomain

## 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 results array; each item includes the normalized email, local and domain parts, syntax validity, MX record details (status, records, source), flags (disposable, role account, free provider, plus tag), a 0–100 deliverability score, a verdict (valid/risky/invalid/disposable/unknown), a list of reasons, a canonical form, and a typo suggestion if applicable. Also includes a summary count by verdict category.

## 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": {
      "email": {
       "type": "string"
      },
      "emails": {
       "type": "string",
       "description": "Comma-separated addresses"
      }
     }
    }
   },
   "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",
         "syntax_valid",
         "flags",
         "verdict",
         "score",
         "reasons"
        ],
        "properties": {
         "mx": {
          "type": [
           "object",
           "null"
          ],
          "properties": {
           "source": {
            "enum": [
             "dns",
             "known_provider"
            ],
            "type": "string"
           },
           "status": {
            "enum": [
             "ok",
             "a_fallback",
             "null_mx",
             "none",
             "nxdomain",
             "error",
             "skipped"
            ],
            "type": "string"
           },
           "records": {
            "type": "array",
            "items": {
             "type": "object",
             "properties": {
              "exchange": {
               "type": "string"
              },
              "priority": {
               "type": "integer"
              }
             }
            }
           },
           "a_records": {
            "type": "array",
            "items": {
             "type": "string"
            }
           }
          }
         },
         "email": {
          "type": [
           "string",
           "null"
          ],
          "description": "Normalized address (lowercased, IDN domain in punycode)"
         },
         "flags": {
          "type": "object",
          "properties": {
           "plus_tag": {
            "type": "boolean"
         
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "results": [
   {
    "mx": {
     "source": "dns",
     "status": "ok",
     "records": [
      {
       "exchange": "mx.example-parking.net",
       "priority": 10
      }
     ]
    },
    "email": "jane.doe@gmial.com",
    "flags": {
     "plus_tag": false,
     "disposable": false,
     "role_account": false,
     "free_provider": false
    },
    "input": "jane.doe@gmial.com",
    "local": "jane.doe",
    "score": 60,
    "domain": "gmial.com",
    "reasons": [
     "possible typo: did you mean gmail.com?"
    ],
    "verdict": "risky",
    "canonical": "jane.doe@gmial.com",
    "suggestion": "gmail.com",
    "syntax_valid": true
   }
  ],
  "summary": {
   "risky": 1,
   "valid": 0,
   "invalid": 0,
   "unknown": 0,
   "disposable": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mailcheck-api-email-and-domain-checks-de0fb604/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)
