Validate an email address: syntax, mail server, disposable and role addresses
POST /api/v1/email/check
POST https://api.trustverify.co.uk/api/v1/email/check
Checks syntax, MX records (with A-record fallback), disposable domains and role addresses, and returns a risk score and verdict. mxSource "dns_unavailable" means deliverability is unknown, not undeliverable. Test keys get a fixed sandbox result (a disposable domain such as mailinator.com returns "disposable").
Request body#
| Field | Type | Description |
|---|---|---|
| emailrequired | string | |
| metadata | object |
Example request#
curl -sS -X POST 'https://api.trustverify.co.uk/api/v1/email/check' \
-H "Authorization: Bearer $TRUSTVERIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "jane.doe@example.com"
}'Responses#
200 Email check result
| Field | Type | Description |
|---|---|---|
| checkIdrequired | string | |
| emailrequired | string | |
| syntaxValidrequired | boolean | |
| domainrequired | string | |
| localPartrequired | string | |
| mxRecordsrequired | array of string | |
| mxReachablerequired | boolean | |
| mxSource | string: "mx" | "a_fallback" | "none" | "dns_unavailable" | |
| isDisposablerequired | boolean | |
| isRoleAddressrequired | boolean | |
| breachCheckrequired | object | |
| breachCheck.checkedrequired | boolean | |
| breachCheck.breachedrequired | boolean | |
| breachCheck.breachCountrequired | integer | |
| breachCheck.note | string | |
| riskScorerequired | number | |
| riskLevelrequired | string: "low" | "medium" | "high" | "critical" | |
| flagsrequired | array of string | |
| verdictrequired | string: "deliverable" | "undeliverable" | "risky" | "disposable" | |
| completedAtrequired | string | |
| metadatarequired | object |
400 validation_failed — email is required
| Field | Type | Description |
|---|---|---|
| errorrequired | string: "validation_failed" | |
| messagerequired | string | |
| requestId | string |