API Documentation

Learn how to integrate SendSure email verification into your application. Our RESTful API makes it easy to verify emails in real-time or process large batches.

Authentication

All API requests require authentication using your API key. Include your API key in the Authorization header as a Bearer token.

HTTP Header
Authorization: Bearer YOUR_API_KEY
💡 Tip: You can find your API key in your Dashboard under Settings → API Keys.

Quick Start

Here's a quick example to verify an email address using cURL:

cURL
curl -X POST https://api.sendsure.co/v1/verify/single \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

Verify Single Email

Verify a single email address in real-time. This endpoint returns results immediately.

POST /v1/verify/single

Request Body

Parameter Type Required Description
email string Yes The email address to verify

Example Response

JSON
{
  "email": "user@example.com",
  "status": "VALID",
  "result": "valid",
  "score": 95,
  "reason": "Mailbox exists and accepts mail",
  "flags": ["has_mx", "has_spf", "has_dmarc"],
  "metadata": {
    "firstName": "User",
    "lastName": null,
    "domain": "example.com",
    "provider": "google_workspace",
    "verificationTime": 342
  }
}

Verify Batch

Submit a batch of emails for verification. This initiates an async process. Use the returned batchId to check status.

POST /v1/verify/batch

Request Body

Parameter Type Required Description
emails array Yes Array of email addresses to verify (max 10,000)
webhookUrl string No URL to receive results when processing completes

Response Fields

Every verification response includes these fields:

Field Type Description
status string VALID, INVALID, RISKY, UNKNOWN, or ACCEPT_ALL
result string Simplified result: valid, invalid, risky, unknown
score integer Quality score from 0-100 (higher is better)
flags array Array of detection flags (disposable, role, spam_trap, etc.)
reason string Human-readable explanation of the result

Rate Limits

API requests are rate-limited to ensure fair usage:

Plan Rate Limit
Free 10 requests/minute
Paid 100 requests/second
Enterprise Custom limits available
⚠️ Note: Exceeding rate limits returns a 429 status code. Implement exponential backoff in your integration.