---
title: "Detect whether a domain accepts mail to any mailbox (catch-all)"
method: POST
path: "/api/v1/email/catchall"
tags: ["Email"]
---

# Detect whether a domain accepts mail to any mailbox (catch-all)

`POST /api/v1/email/catchall`

## Request

- Base URL: `https://firstsales.io`
- URL: `https://firstsales.io/api/v1/email/catchall`
- Auth: none required

Sends live SMTP RCPT TO probes with random non-existent mailboxes at the domain's primary MX host and infers catch-all behavior from acceptance/rejection. Use this to avoid false-positive 'valid' verdicts on catch-all domains. Slower than the other email checks (real SMTP round-trips). Rate limit: 20 requests/minute per IP.

## Request body

- object
  - `domain` string, required

## Response `200`

Catch-all detection result.

- CatchAllResult
  - `isCatchAll` boolean, required
  - `confidence` 'high' | 'medium' | 'low', required
  - `checks` object[], required
    - `label` string, required
    - `status` 'pass' | 'warn' | 'fail', required
    - `detail` string, required
  - `score` number, required

## Other responses

- `400`: Invalid request — bad input, missing field, or malformed value.
- `429`: Rate limit exceeded for this endpoint. Wait Retry-After seconds and retry.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/firstsales/apis/firstsales-public-api.md) · [All operations](https://skmtc.dev/firstsales/apis/firstsales-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firstsales/apis/firstsales-public-api/revisions/3856191adf12?raw)
