REST API · Email

Email Verification API

Buy disposable email addresses for OTP verification over a clean REST API. Same JSON conventions and the same API key as the SMS endpoints, scoped to /v1/email-activations.

Base URL

https://smsbulk.net/api/v1/email-activations

One API key works for both SMS and email. If you already integrated the SMS API, you are minutes away from email.

Authentication

Send your API key with every request. Two interchangeable methods are accepted:

# 1. Header (recommended)
curl https://smsbulk.net/api/v1/email-activations \
  -H "x-api-key: YOUR_KEY"

# 2. Bearer token
curl https://smsbulk.net/api/v1/email-activations \
  -H "Authorization: Bearer YOUR_KEY"

Send the key via the header (x-api-key) or a Bearer token. Passing it as a URL query parameter is not recommended for security, because query strings are commonly recorded in server and proxy logs.

Your SMS API key is the same key used here. There is no separate email key.

Endpoints

Six routes under /api/v1/email-activations. Prices are user-facing; wholesale cost is never returned.

GET/api/v1/email-activations/domains?site=telegram.com

List the email provider domains available for a target site, with user-facing price and stock.

Request
curl "https://smsbulk.net/api/v1/email-activations/domains?site=telegram.com" \
  -H "x-api-key: YOUR_KEY"
Response
[
  { "name": "gmx.com", "price": 0.04, "count": 12, "currency": "USD" }
]
POST/api/v1/email-activations

Reserve an email address for a site/domain pair. Charges your wallet immediately and returns the activation in WAITING.

Request
curl -X POST https://smsbulk.net/api/v1/email-activations \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "site": "telegram.com", "domain": "gmx.com" }'
Response
{
  "id": "cmox8h7pmicm3mkczzwhdz0yd",
  "site": "telegram.com",
  "domain": "gmx.com",
  "emailAddress": null,
  "status": "WAITING",
  "otpValue": null,
  "userCost": "0.04",
  "currency": "USD",
  "expiresAt": "2026-06-03T14:05:00Z",
  "receivedAt": null,
  "createdAt": "2026-06-03T13:45:00Z"
}
GET/api/v1/email-activations?limit=50

Return your most recent email activations, newest first. Default 50, max 100, no cursor pagination.

Request
curl "https://smsbulk.net/api/v1/email-activations?limit=50" \
  -H "x-api-key: YOUR_KEY"
Response
[
  {
    "id": "cmox8h7pmicm3mkczzwhdz0yd",
    "site": "telegram.com",
    "domain": "gmx.com",
    "emailAddress": "[email protected]",
    "status": "RECEIVED",
    "otpValue": "595348",
    "userCost": "0.04",
    "currency": "USD",
    "expiresAt": "2026-06-03T14:05:00Z",
    "receivedAt": "2026-06-03T13:47:12Z",
    "createdAt": "2026-06-03T13:45:00Z"
  }
]
GET/api/v1/email-activations/:id

Fetch a single activation. Includes the parsed OTP and the raw HTML email body once received.

Request
curl https://smsbulk.net/api/v1/email-activations/cmox8h7pmicm3mkczzwhdz0yd \
  -H "x-api-key: YOUR_KEY"
Response
{
  "id": "cmox8h7pmicm3mkczzwhdz0yd",
  "site": "telegram.com",
  "domain": "gmx.com",
  "emailAddress": "[email protected]",
  "status": "RECEIVED",
  "otpValue": "595348",
  "htmlMessage": "<html>Your code is 595348</html>",
  "userCost": "0.04",
  "currency": "USD",
  "expiresAt": "2026-06-03T14:05:00Z",
  "receivedAt": "2026-06-03T13:47:12Z",
  "createdAt": "2026-06-03T13:45:00Z"
}
POST/api/v1/email-activations/:id/reorder

Re-open the same address for another OTP. Charges the wallet again (email equivalent of SMS resend).

Request
curl -X POST https://smsbulk.net/api/v1/email-activations/cmox8h7pmicm3mkczzwhdz0yd/reorder \
  -H "x-api-key: YOUR_KEY"
Response
{
  "id": "cmox8h7pmicm3mkczzwhdz0yd",
  "site": "telegram.com",
  "domain": "gmx.com",
  "emailAddress": null,
  "status": "WAITING",
  "otpValue": null,
  "userCost": "0.04",
  "currency": "USD",
  "expiresAt": "2026-06-03T14:20:00Z",
  "receivedAt": null,
  "createdAt": "2026-06-03T13:45:00Z"
}
DELETE/api/v1/email-activations/:id

Cancel an activation. Refunds your wallet if no OTP was received.

Request
curl -X DELETE https://smsbulk.net/api/v1/email-activations/cmox8h7pmicm3mkczzwhdz0yd \
  -H "x-api-key: YOUR_KEY"
Response
{
  "id": "cmox8h7pmicm3mkczzwhdz0yd",
  "site": "telegram.com",
  "domain": "gmx.com",
  "emailAddress": null,
  "status": "REFUNDED",
  "otpValue": null,
  "userCost": "0.04",
  "currency": "USD",
  "expiresAt": "2026-06-03T14:05:00Z",
  "receivedAt": null,
  "createdAt": "2026-06-03T13:45:00Z"
}

Notes & limits

  • Daily quota is shared across SMS and email: 10,000 requests per API key per UTC day.
  • The list endpoint returns at most 100 rows (default 50) and has no cursor pagination by design.
  • Loyalty discounts are applied automatically to the charged price. userCost reflects what you actually pay.

Start verifying email

Grab your API key and send your first request with a single curl command.