senapati
Documentation index

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 key

Check 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; null otherwise.

Request

JSON body
FieldTypeDescription
email*stringEmail address to check

Authenticate with API key. Send it as the X-API-Key header.

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": {
"email": "[email protected]",
"is_valid_format": true,
"is_disposable": false,
"is_free_provider": false,
"has_mx_records": false,
"mx_records": [],
"domain": "example.com",
"domain_age_days": null
}
}
data · EmailReputationData
FieldTypeDescription
email*string
is_valid_formatbooleandefault false
is_disposablebooleandefault false
is_free_providerbooleandefault false
has_mx_recordsbooleandefault false
mx_recordsstring[]
domainstringdefault ""
domain_age_daysinteger | 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.