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

- Contacts: Create contact with validate_emails: true verifies an address when you add someone to a campaign (same credit pool).
  • Intelligence data: Risk scoring, provider signals, and network history are returned only from this verification endpoint (or from validation tied to contacts/CSV)—not as a separate public API you can call without consuming verification credits.

  • Endpoint

    MethodPath
    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:

    bash
    -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

    FieldTypeRequiredDescription
    emailstringYesEmail address to verify (normalized to lowercase).
    TeamIdUUIDNoIf set, credit usage is attributed to this team in reporting. You must have access to the team. Omit for org-level-only attribution.


    json
    {
    "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).

  • If the org does not have enough credits, the API returns 402 with requiredCredits and availableCredits in the error payload.

  • Credits are recorded after the validator returns a complete result.

  • Success response

    Standard V2 shape: success, data, request_id.

    Deliverability fields

    FieldDescription
    emailNormalized email that was checked.
    validWhether the SMTP probe treated the mailbox as deliverable.
    validatorsRaw breakdown from the validator (e.g. SMTP probe details).
    credits_usedCredits debited for this call (often 1; depends on org credit cost settings).


    Intelligence fields (included at no extra cost)

    FieldDescription
    email_hashSHA-256 hash of the normalized address.
    domainDomain portion of the address.
    is_role_basedtrue if the local part is a role alias (info@, support@, etc.).
    is_abuse_emailtrue if the address is flagged for abuse or spam.
    is_free_providertrue if the domain is a free consumer email provider.
    is_disallowedtrue if the address is on the global disallow list (disposable, etc.).
    validity_scoreAggregate score 0–100 (100 = cleanest).
    risk_levelLOW, MEDIUM, HIGH, or CRITICAL.
    confidenceHow much historical data backs the score: NONE, LOW, MEDIUM, HIGH.
    email_providerDetected ESP or mailbox provider (e.g. Google Workspace). null if unknown.
    email_security_serviceDetected gateway/SEG (e.g. Proofpoint). null if unknown.
    bounce_type_breakdownHistorical breakdown of observed bounce types across the SuperSend network.
    total_sendsTotal sends seen for this address across the network.
    hard_bounce_countHard bounces observed across the network.
    reply_countReplies observed across the network.
    has_historical_datatrue if this address has network-level delivery history.


    Example

    json
    {
    "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

    HTTPWhen
    401Missing or invalid API key / no org context.
    402Insufficient email verification credits.
    403TeamId provided but you do not have access to that team.
    400Invalid JSON body or missing email.
    503Validator did not return a usable result (no credit charge for that failure path).


    See Error handling for the standard error JSON shape.


    Example: cURL

    bash
    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

  • Human-readable spec: This page; the V2 API overview lists the endpoint in the table.

  • Machine-readable spec: GET /v2/openapi.yaml and GET /v2/openapi.json (see V2 API overview).

  • Try it: API Explorer → tag Email validationVerify email (SMTP).