# Email List Validation — access for AI agents

> Email List Validation verifies whether an email address can receive mail. It returns a verdict (valid, invalid,
> risky, unknown) with syntax, MX, SMTP mailbox, catch-all, disposable and role-account signals.
> AI agents can use it without a human account: register for an API key with one HTTP request
> and get 25 free verifications per day.

## 1. Get an API key (no account, no human step)

```
POST https://app.emaillistvalidation.com/agent-gateway/register
Content-Type: application/json

{"name": "your agent name", "purpose": "what you verify emails for", "contact": "optional email or URL of your operator"}
```

The response contains `api_key` (shown once — store it), the endpoints below and your quota.
Send it as `Authorization: Bearer <api_key>` on every call. Keys expire after 30 days; register again.

## 2. Use it over MCP (recommended for agents)

- Endpoint: `POST https://app.emaillistvalidation.com/mcp` — MCP over Streamable HTTP (JSON responses; protocol 2025-06-18, 2025-03-26 or 2024-11-05)
- No key needed to connect and list tools; call the `get_api_key` tool to get one, then reconnect with `Authorization: Bearer <api_key>`
- Methods: `initialize`, `tools/list`, `tools/call` (one call per HTTP request; `verify_batch` takes at most 25 emails)
- Tools: `verify_email`, `verify_batch`, `get_credit_balance`, `estimate_cost`, `explain_result`, `list_lists`, `get_list`, `get_batch_status`
- Server card: https://app.emaillistvalidation.com/.well-known/mcp.json

## 3. Or use the REST API

- `POST https://app.emaillistvalidation.com/api/v1/verify` — body `{"email": "name@example.com"}` → verdict for one address (1 credit)
- `POST https://app.emaillistvalidation.com/api/v1/verify/batch` — JSON body `{"emails": [...]}` (max 25) → HTTP 201, `data.id` (1 credit per email)
- `GET https://app.emaillistvalidation.com/api/v1/verify/batch/{id}` — progress
- `GET https://app.emaillistvalidation.com/api/v1/verify/batch/{id}/results?format=json` — per-email results once complete
- `GET https://app.emaillistvalidation.com/api/v1/credits` — remaining credits
- OpenAPI: https://app.emaillistvalidation.com/agent-gateway/openapi.json

## Verdicts

- `valid` — mailbox exists and accepts mail; safe to send
- `invalid` — address or domain cannot receive mail; do not send
- `risky` — accept-all (catch-all) domain, disposable or role address; send with care
- `unknown` — the receiving server did not give a definitive answer (greylisting, timeouts)

## Limits

- 25 free verifications per key per UTC day (unused credits do not roll over)
- 10 requests per minute per key, one request in flight per key
- A shared daily capacity applies to all agent keys; when it is used up, calls return HTTP 429 until 00:00 UTC
- Inbox placement, blacklist, domain monitoring and email finder need a full account: https://emaillistvalidation.com

## Agent card

https://app.emaillistvalidation.com/.well-known/agent.json