API reference
Email Verification
Answers the questions a signup form cares about without sending mail: is the address well-formed, does its domain accept mail, is it a throwaway, and how old is the domain behind it.
POST
/api/email-reputationCosts 1 creditAPI keyCheck email reputation
Signals
is_valid_format: RFC-style syntax check on the local part and domain.has_mx_records+mx_records: the domain publishes mail exchangers (a domain with none cannot receive mail). Lookups use the same resolver as DNS lookup.is_disposable: the domain is on the disposable / temporary-inbox lists we ingest.is_free_provider: Gmail, Outlook, Yahoo and similar consumer mailboxes.domain_age_days: from WHOIS, when the registry exposes a creation date;nullotherwise.
Request
| Field | Type | Description |
|---|---|---|
| email* | string | Email address to check |
Authenticate with API key. Send it as the X-API-Key header.
POST /api/email-reputation
curl -X POST "https://api.senapati.io/api/email-reputation" \
-H "X-API-Key: $SENAPATI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'Response
Every success is wrapped in { "data": … } with a request_id; the fields below describe data. See Errors for the failure shape.
response: 200 OKEmailReputationData
{"request_id": "req_8f2c1a7e","timestamp": "2026-08-27T12:00:21.754083+00:00","data": {"is_valid_format": true,"is_disposable": false,"is_free_provider": false,"has_mx_records": false,"mx_records": [],"domain": "example.com","domain_age_days": null}}
| Field | Type | Description |
|---|---|---|
| email* | string | |
| is_valid_format | boolean | default false |
| is_disposable | boolean | default false |
| is_free_provider | boolean | default false |
| has_mx_records | boolean | default false |
| mx_records | string[] | |
| domain | string | default "" |
| domain_age_days | integer | null |
Errors
- 401missing or invalid API key / token
- 402not enough credits on the account
- 422the request body or a parameter failed validation
- 429plan rate limit exceeded
Notes
No SMTP conversation is attempted, so a mailbox that does not exist on a valid domain is not detected. Combine with domain reputation when you also want blacklist verdicts for the domain.
- The address is lower-cased; the local part is otherwise passed through unchanged.