Email Verification API Documentation
Complete reference for the Email Verification API
Authentication
Pass your API key via header or query parameter:
Authorization: Bearer sk_live_your_key_here
Query: ?api_key=sk_live_your_key_here
GET POST /v1/email/verify
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
email | string | yes | Email address to verify |
smtp_check | boolean | no | Enable SMTP mailbox verification (default: false) |
Success Response (200)
{
"success": true,
"data": {
"email": "user@gmail.com",
"is_valid": true,
"domain": "gmail.com",
"is_disposable": false,
"is_role_account": false,
"is_free_provider": true,
"checks": {
"format": true,
"disposable": true,
"mx": true,
"dns": true,
"role_account": true
},
"mx_records": [
{"host": "gmail-smtp-in.l.google.com", "priority": 5}
],
"duration_ms": 45
}
}
Response Fields
| Field | Description |
|---|---|
is_valid | Overall validity — format OK, DNS exists, not disposable |
is_disposable | Whether domain is a known disposable/temporary email service |
is_role_account | Whether the local part is a role address (admin, info, etc.) |
is_free_provider | Whether domain is a free email provider (Gmail, Yahoo, etc.) |
mx_records | Array of MX records with host and priority |
checks | Object with individual check results (format, mx, dns, etc.) |
Code Examples
JavaScript
const res = await fetch( `https://snapapis.com/api/v1/email/verify?api_key=${KEY}&email=${email}` ); const { data } = await res.json(); if (data.is_valid && !data.is_disposable) { // safe to send }
Python
import requests r = requests.get('https://snapapis.com/api/v1/email/verify', params={'api_key': KEY, 'email': 'test@example.com'}) data = r.json()['data'] print(data['is_valid'], data['is_disposable'])