API documentation

Base URL: https://trymailtrue.com · Auth: Authorization: Bearer YOUR_KEY · Every new key includes 100 free credits.

Verify a single email

POST /api/verify
Content-Type: application/json

{ "email": "jane@acme.com" }

→ 200
{
  "email": "jane@acme.com",
  "status": "valid",        // valid | invalid | risky | unknown
  "score": 95,              // 0-100 deliverability confidence
  "reason": "smtp: mailbox confirmed deliverable",
  "checks": {
    "syntax": "pass",
    "mx": "pass",
    "disposable": "pass",
    "role": "pass",
    "smtp": "pass"          // pass | fail | unknown | skipped
  },
  "took_ms": 812
}

Status meanings

StatusMeaningMail it?
validMailbox confirmed (or domain accepts mail with no negative signals)Yes
invalidBad syntax, no MX records, or the server rejected the mailboxNo
riskyDisposable provider or role account — deliverable but low valueYour call
unknownA check couldn't complete (e.g. server greylisted our probe). We refuse to guess.Retry later

Clean a list (bulk CSV)

POST /api/bulk                      # multipart, field name "file"
Authorization: Bearer YOUR_KEY
→ 202 { "job_id": "job_abc123", "total": 4821, "status": "queued" }

GET /api/bulk/job_abc123            # poll status
→ 200 { "id": "job_abc123", "status": "processing", "total": 4821, "done": 1200 }

GET /api/bulk/job_abc123/results.csv
→ CSV: email,status,score,reason,syntax,mx,disposable,role,smtp

Limits: 50,000 emails per job. 1 credit per email, deducted when the job is accepted.

Keys & credits

POST /api/keys                      # { "name": "prod" }
→ 201 { "api_key": "ev_…", "credits": 100 }

GET /api/me                         # Authorization: Bearer YOUR_KEY
→ 200 { "credits": 97, "name": "prod" }

Rate limits

EndpointLimit
POST /api/verify (no key — demo)10/hour per IP
POST /api/verify (key)60/minute per key
POST /api/bulk5 concurrent jobs per key

Errors

400  missing/invalid parameters
401  API key required or invalid
402  insufficient credits
429  rate limit exceeded
503  billing not enabled (pre-launch)

SDKs

It's JSON over HTTPS — curl works everywhere. Official SDKs (JS, Python) ship after launch; the API is stable and versioned.

100 free credits. No card.

Create a key and verify your first email in 30 seconds.

See pricing