# The catch_all status

URL: https://email-validation.org/docs/statuses/catch-all/
Updated: 2026-10-20

> Documentation index: https://email-validation.org/llms.txt

**Catch-all** (`catch_all`) means the domain accepts mail for every address during a check, real or not, so no
check can tell whether this specific mailbox exists without sending a message. It costs 1 credit, and the action is
`send_with_caution`.

## How to decide

- Keep catch-all addresses in a separate segment, and send to them only if they matter to you, such as customers or
  leads you expect to reply.
- Watch bounces and complaints for that segment, and remove the addresses that bounce.
- When the domain has a strong record of delivering mail, we return `valid` with the reason `trusted_catch_all`
  instead. A team or function address on a catch-all domain is `do_not_mail` with the reason `role_catch_all`.

More in [Catch-all emails explained](https://email-validation.org/guides/catch-all-emails/).

## Reasons

### Catch-all domain

`catch_all`: The domain accepts mail for every address, so this specific mailbox cannot be confirmed.

- **Recommended action:** Send with caution. Send only if the address matters to you, and watch bounces and complaints for this segment.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `catch_all@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "catch_all@sandbox.email-validation.org",
  "status": "catch_all",
  "reason": "catch_all",
  "action": "send_with_caution",
  "account": "catch_all",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": false,
  "disposable": false,
  "catch_all_domain": true,
  "mx_found": true,
  "mx_record": "mx.sandbox.email-validation.org",
  "smtp_provider": "other",
  "domain_age_days": 3650,
  "processed_at": "2026-10-20T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>
