MailEntriX
RESTful API v1

API Documentation

Integrate real-time email verification into your application in minutes. RESTful endpoints, comprehensive SDKs, and sub-200ms response times.

<200ms
Avg. Response
99.99%
Uptime SLA
1,000 req/s
Rate Limit

Authentication

All API requests require a Bearer token in the Authorization header. Generate API keys from your MailEntriX dashboard.

Header
Authorization: Bearer mk_live_your_api_key_here

Test 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.

POST
/api/v1/verify

Verify 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.

POST
/api/v1/verify/batch

Verify up to 50 emails in a single synchronous request. Returns one result per address with the same shape as the single-email endpoint.

POST
/api/v1/verify/async

Submit one email plus a webhook_url. Returns a request_id immediately, then POSTs the full result to your webhook when complete.

POST
/api/v1/bulk/upload

Upload a CSV or TXT file (up to 50MB) containing email addresses. Returns a job ID; track progress via the jobs endpoint or SSE stream.

GET
/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.

Request
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]"}'
Response — 200 OK
{
  "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.

results.csv — header
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,
reason

Official SDKs

First-class libraries for every major language. Install, import, and start verifying in under five minutes.

JavaScript
Python
Go
PHP
Ruby

Ready to integrate?

Sign up for free, generate an API key, and start verifying emails in under two minutes. No credit card required.