Authentication
All API requests require a Bearer token in the Authorization header. Generate API keys from your MailEntriX dashboard.
Authorization: Bearer mk_live_your_api_key_hereTest Mode
Use keys prefixed with mk_test_ for development. No credits consumed.
Live Mode
Use keys prefixed with mk_live_ for production. Each request uses one credit.
API Endpoints
Core endpoints covering single verification (sync, fast, and async), 50-email synchronous batch, bulk CSV upload up to 50MB, and job tracking with SSE progress streaming.
/api/v1/verifyVerify a single email address. Runs the full pipeline by default (~45s timeout); pass ?mode=fast for a sub-3s response with the core checks only.
/api/v1/verify/batchVerify up to 50 emails in a single synchronous request. Returns one result per address with the same shape as the single-email endpoint.
/api/v1/verify/asyncSubmit one email plus a webhook_url. Returns a request_id immediately, then POSTs the full result to your webhook when complete.
/api/v1/bulk/uploadUpload a CSV or TXT file (up to 50MB) containing email addresses. Returns a job ID; track progress via the jobs endpoint or SSE stream.
/api/v1/bulk/jobs/{id}Check the status of a bulk verification job. Pair with /api/v1/bulk/jobs/{id}/results to download the per-row CSV when complete.
Quick Start
Make your first API call in seconds. Copy the cURL command below and replace the API key with your own.
curl -X POST https://api.mailentrix.com/api/v1/verify \
-H "Authorization: Bearer mk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'{
"email": "[email protected]",
"is_valid": true,
"score": 96,
"syntax_valid": true,
"domain_valid": true,
"mx_found": true,
"smtp_valid": true,
"is_catchall": false,
"is_disposable": false,
"is_role_based": false,
"is_free_provider": false,
"reason": "",
"smtp_response_code": 250,
"provider": "google",
"mx_record": "aspmx.l.google.com",
"ai_score": 94,
"ai_status": "valid",
"ai_recommendation": "send",
"is_spam_trap": false,
"domain_age": "established",
"is_domain_new": false,
"mx_blacklisted": false,
"mx_blacklist_count": 0,
"breach_found": true,
"breach_count": 2,
"deliverability": {
"prediction": "inbox",
"confidence": 92,
"factors": [
{ "name": "smtp_handshake", "status": "passed", "impact": "positive" },
{ "name": "domain_reputation", "status": "passed", "impact": "positive" }
]
},
"drift": {
"times_verified": 3,
"status_changed": false
}
}Full mode adds ai_score, breaches[], deliverability, industry, and drift when those signals are available. Note: accept_all_provider is only set when the SMTP probe is inconclusive — if SMTP cleanly rejects the address, the API trusts the rejection and reports smtp_valid: false without a catch-all/accept-all flag.
Bulk CSV download columns
When you download results from /api/v1/bulk/jobs/{id}/results, the CSV ships with these columns in this order — a ZeroBounce-style layout so existing pivots and filters keep working.
email, account, domain,
is_valid, score, status, sub_status,
syntax_valid, domain_valid, mx_found, smtp_valid,
is_catchall, is_disposable, is_role_based, is_free_provider,
smtp_provider, mx_record, smtp_response_code,
accept_all_provider, provider_warning,
domain_age, did_you_mean,
first_name, last_name,
reasonOfficial SDKs
First-class libraries for every major language. Install, import, and start verifying in under five minutes.