# HTTPay Email Validate

> HTTPay Email Validate is a paid API for AI agents from httpay.xyz, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Validates an email address by checking format, MX record existence, and disposable domain status

## Facts

- Endpoint: POST https://httpay.xyz/api/email-validate
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/httpay-email-validate-7c973bd8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_J1yAleE03Z8w2Yk9rADqx

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 httpay-email-validate-7c973bd8 -d '<json body>'
```

Example prompt: Can you check if the email address 'user@somedomain.com' is valid — like whether the format is correct, if the domain actually has mail servers, and if it's a throwaway disposable address?

## When to prefer this

Use this endpoint when you need a lightweight, pay-per-call email validation that combines format checking, live MX record DNS lookup, and disposable domain detection in a single call with no API key or subscription required. Ideal for AI agents that need to validate email addresses infrequently or on-demand via x402 micropayments on Base.

## Known failure modes

- Missing email parameter returns error
- Malformed email string may yield formatOk:false with reason explaining the syntax issue
- DNS lookup failure may cause hasMX to return false even for valid domains
- Disposable domain list may not be exhaustive, causing false negatives for newer burner services
- Network timeout on MX lookup may delay response

## How this service works

Validate an email address: format check, MX record lookup, disposable domain detection. Pass ?email= query param.

## Output

Returns a JSON object with: valid (overall validity), formatOk (syntax check), hasMX (whether domain has mail exchange records), isDisposable (disposable domain flag), domain, mxProviders list, reason for invalidity if any, a suggested correction if applicable, and a checkedAt timestamp.

## Example request

```json
{
 "email": "test@example.com"
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "description": "Validate an email address: format check, MX record lookup, disposable domain detection. Pass ?email= query param."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/httpay-email-validate-7c973bd8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from httpay.xyz](https://www.zero.xyz/host/httpay.xyz/llms.txt)
