Email validation API
Verify a single email address over the API with SMTP validation and global verification credits—without creating a contact.
Use this endpoint when you need a deliverability check in Clay, Make, Zapier, or your own code without adding a row to SuperSend contacts.
One credit call returns both the SMTP deliverability verdict and the full email intelligence layer (risk score, provider detection, historical signals). This mirrors the in-app experience, where a single validation credit unlocks both data sets.
Related features
validate_emails: true verifies an address when you add someone to a campaign (same credit pool).Endpoint
| Method | Path |
|---|---|
POST | /v2/email-validation/verify |
Base URL: https://api.supersend.io/v2 (same as all V2 endpoints).
Authentication
Use your API key like every other V2 call:
-H "Authorization: Bearer YOUR_API_KEY"You can also use X-API-Key. The key must belong to a user with an organization (credits are charged to the org).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address to verify (normalized to lowercase). |
TeamId | UUID | No | If set, credit usage is attributed to this team in reporting. You must have access to the team. Omit for org-level-only attribution. |
{
"email": "prospect@example.com",
"TeamId": "550e8400-e29b-41d4-a716-446655440000"
}Credits
Each successful verification consumes global email verification credits (the same pool as CSV validation and validate_emails on create contact).
requiredCredits and availableCredits in the error payload.Success response
Standard V2 shape: success, data, request_id.
Deliverability fields
| Field | Description |
|---|---|
email | Normalized email that was checked. |
valid | Whether the SMTP probe treated the mailbox as deliverable. |
validators | Raw breakdown from the validator (e.g. SMTP probe details). |
credits_used | Credits debited for this call (often 1; depends on org credit cost settings). |
Intelligence fields (included at no extra cost)
| Field | Description |
|---|---|
email_hash | SHA-256 hash of the normalized address. |
domain | Domain portion of the address. |
is_role_based | true if the local part is a role alias (info@, support@, etc.). |
is_abuse_email | true if the address is flagged for abuse or spam. |
is_free_provider | true if the domain is a free consumer email provider. |
is_disallowed | true if the address is on the global disallow list (disposable, etc.). |
validity_score | Aggregate score 0–100 (100 = cleanest). |
risk_level | LOW, MEDIUM, HIGH, or CRITICAL. |
confidence | How much historical data backs the score: NONE, LOW, MEDIUM, HIGH. |
email_provider | Detected ESP or mailbox provider (e.g. Google Workspace). null if unknown. |
email_security_service | Detected gateway/SEG (e.g. Proofpoint). null if unknown. |
bounce_type_breakdown | Historical breakdown of observed bounce types across the SuperSend network. |
total_sends | Total sends seen for this address across the network. |
hard_bounce_count | Hard bounces observed across the network. |
reply_count | Replies observed across the network. |
has_historical_data | true if this address has network-level delivery history. |
Example
{
"success": true,
"data": {
"email": "prospect@example.com",
"valid": true,
"validators": {},
"credits_used": 1, "email_hash": "a1b2c3...",
"domain": "example.com",
"is_role_based": false,
"is_abuse_email": false,
"is_free_provider": false,
"is_disallowed": false,
"validity_score": 82,
"risk_level": "LOW",
"confidence": "MEDIUM",
"email_provider": "Google Workspace",
"email_security_service": null,
"bounce_type_breakdown": null,
"total_sends": 14,
"hard_bounce_count": 0,
"reply_count": 3,
"has_historical_data": true
},
"request_id": "req_..."
}
Errors
| HTTP | When |
|---|---|
| 401 | Missing or invalid API key / no org context. |
| 402 | Insufficient email verification credits. |
| 403 | TeamId provided but you do not have access to that team. |
| 400 | Invalid JSON body or missing email. |
| 503 | Validator did not return a usable result (no credit charge for that failure path). |
See Error handling for the standard error JSON shape.
Example: cURL
curl -sS -X POST 'https://api.supersend.io/v2/email-validation/verify' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d 700 dark:text-green-400">'{"email":"prospect@example.com"}'OpenAPI and Explorer
GET /v2/openapi.yaml and GET /v2/openapi.json (see V2 API overview).