Email validation
Validate addresses one at a time or in batches, with a Validation key.
/v1/validation/emailPerforms comprehensive email validation including:
- Syntax validation (RFC 5322)
- Disposable email detection
- Role account detection
- MX record verification
- SMTP deliverability check (optional)
Results are cached for performance. Consumes 1 validation credit only on successful validation. Errors (timeout, blacklist, connection failures) do not consume credits.
Authorization
ApiKey Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.
In: header
Request Body
application/json
Cancellation token
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/validation/email"{ "email": "string", "result": "string", "score": 0, "syntax": { "is_valid": true, "suggestion": null, "domain": null, "local_part": null, "has_typo": true, "typo_type": null, "typo_confidence": null }, "disposable": { "is_disposable": true }, "role": { "is_role_account": true }, "mx": { "has_mx": true, "records": [ "string" ], "accepts_mail": true }, "smtp": null, "provider": { "name": "string", "type": "string" }, "cached": true, "verified_at": "2019-08-24T14:15:22Z"}/v1/validation/batchValidates up to 100 email addresses in a single request. Consumes 1 credit per successful validation only. Errors (timeout, blacklist) do not consume credits. Results are returned in the same order as input.
Authorization
ApiKey Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.
In: header
Request Body
application/json
Cancellation token
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/validation/batch"{ "total_count": 0, "processed_count": 0, "successful_count": 0, "credits_consumed": 0, "free_validations": 0, "results": [ { "email": "string", "result": "string", "score": 0, "syntax": { "is_valid": true, "suggestion": null, "domain": null, "local_part": null, "has_typo": true, "typo_type": null, "typo_confidence": null }, "disposable": { "is_disposable": true }, "role": { "is_role_account": true }, "mx": { "has_mx": true, "records": [ "string" ], "accepts_mail": true }, "smtp": null, "provider": { "name": "string", "type": "string" }, "cached": true, "verified_at": "2019-08-24T14:15:22Z" } ]}/v1/validation/creditsReturns the current month's validation credit usage and remaining balance. Credits reset automatically at the start of each billing month.
Authorization
ApiKey Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.
In: header
Response Body
application/json
curl -X GET "https://example.com/v1/validation/credits"{ "monthly_quota": 0, "used": 0, "remaining": 0, "resets_at": "2019-08-24T14:15:22Z"}/v1/validation/historyReturns paginated validation history for the current tenant. Supports filtering by result type, date range, and search term.
Authorization
ApiKey Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.
In: header
Query Parameters
^-?(?:0|[1-9]\d*)$int3220Filter by result type (Deliverable, Risky, Undeliverable, Unknown)
Filter from date (UTC)
date-timeFilter to date (UTC)
date-timeSearch by email address
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/validation/history"{ "items": [ { "email": "string", "result": "string", "score": 0, "is_disposable": true, "is_role_account": true, "has_valid_mx": true, "smtp_deliverable": null, "provider": null, "was_cached": true, "smtp_verified": true, "credit_consumed": true, "verified_at": "2019-08-24T14:15:22Z" } ], "nextCursor": null, "hasMore": true}/v1/validation/statsReturns aggregated validation statistics for the current tenant. Optionally filter by date range.
Authorization
ApiKey Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.
In: header
Query Parameters
Filter from date (UTC)
date-timeFilter to date (UTC)
date-timeResponse Body
application/json
curl -X GET "https://example.com/v1/validation/stats"{ "total_validations": 0, "deliverable": 0, "risky": 0, "undeliverable": 0, "unknown": 0, "deliverable_rate": 0, "risky_rate": 0, "undeliverable_rate": 0, "unknown_rate": 0, "credits_consumed": 0, "free_validations": 0}