REST API — always-on

MailGuard API Reference

Verify any email address in real time or upload millions in bulk. Simple REST API, JSON responses, no SDK required.

Base URLhttps://api.mailsguard.io

🔑 Authentication

All requests require an API key passed in the X-Api-Key header. You can create and manage API keys in your dashboard.

curl -X POST https://api.mailsguard.io/api/v1/verify \  -H "X-Api-Key: mg_live_xxxxxxxxxxxxxxxxxxxx" \  -H "Content-Type: application/json" \  -d '{"email": "test@example.com"}'

Quick Examples

curl -X POST https://api.mailsguard.io/api/v1/verify \  -H "X-Api-Key: YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{"email": "user@example.com"}'

Sample Response

{
  "email": "user@example.com",
  "status": "valid",
  "score": 92,
  "checks": {
    "syntax": true,
    "dns": true,
    "disposable": false,
    "role_based": false,
    "free_provider": true,
    "catch_all": false,
    "smtp": "valid"
  },
  "duration_ms": 420
}

📋 Endpoints

POST/api/v1/verifySingle Email Verify

Verify a single email address in real time.

ParameterTypeRequiredDescription
emailstringYesThe email address to verify.
POST/api/v1/jobsBulk Upload

Upload a CSV file of emails for async bulk verification.

ParameterTypeRequiredDescription
filefile (CSV)YesCSV file with one email per row (max 10 MB).
GET/api/v1/jobs/:idJob Status

Poll the status and results of a bulk job.

ParameterTypeRequiredDescription
idstring (path)YesThe jobId returned from the bulk upload.
GET/api/v1/jobs/:id/downloadDownload Results

Download the completed bulk job results as a CSV.

ParameterTypeRequiredDescription
idstring (path)YesThe jobId of a completed job.

📊 Verification Statuses

Every verification returns one of these statuses.

valid

Email exists and accepts mail.

invalid

Email does not exist or is undeliverable.

risky

Catch-all, role-based, or disposable address.

unknown

Could not determine (timeout or no SMTP response).

⚠️ Rate Limits & Error Codes

Rate Limits

EndpointLimit
POST /verify60 req / min
POST /jobs10 req / min
All other200 req / 15 min

HTTP Error Codes

CodeMeaning
401Missing or invalid API key
422Invalid request body
429Rate limit exceeded
500Internal server error

Ready to integrate?

Sign up for free and get your API key in seconds.

Get API Key — Free← Back to Home