Bulk Email

Send high-volume email campaigns with comprehensive validation, variable substitution, and detailed engagement reports.

High-Volume Processing

Send up to 100 emails per batch request with automatic bounce suppression

Smart Delivery

Automatic bounce handling and feedback loops for better deliverability

Detailed Analytics

Comprehensive reporting on opens, clicks, and bounce rates

Domain Protection

Throttling built-in to prevent domain blacklisting

100

Maximum emails per batch request

10 MB

Maximum payload size incl. attachments

50/s

Default rate limit per API key

7d

Message history retention (default)

POST
/v1/email/batch
Bulk
Async

Bulk Upload Methods

JSON
{
"campaignName": "Newsletter Q1",
"from": "newsletter@yourdomain.com",
"subject": "Your Q1 Update is Here!",
"templateId": "tpl_12345",
"messages": [
{
"to": "user1@example.com",
"variables": { "name": "John", "plan": "Premium" }
},
{
"to": "user2@example.com",
"variables": { "name": "Sarah", "plan": "Free" }
}
],
"options": {
"scheduledFor": "2024-01-16T09:00:00Z",
"webhookUrl": "https://api.myapp.com/webhooks/bulk-status"
}
}

Request Schema

TypeScript
interface BatchEmailRequest {
/** Up to 100 full send payloads */
emails: Array<{
from: string;
to: string | string[];
subject: string;
html?: string; // alias: bodyHtml
text?: string; // alias: bodyText
templateId?: string;
variables?: Record<string, string>;
tags?: string[];
}>;
}
// Example
{
"emails": [
{
"from": "noreply@yourdomain.com",
"to": "a@example.com",
"subject": "Hello A",
"html": "<p>Hi A</p>"
},
{
"from": "noreply@yourdomain.com",
"to": "b@example.com",
"subject": "Hello B",
"html": "<p>Hi B</p>"
}
]
}

Processing Pipeline

1

Validation

Checking email addresses and domains

~2s per 1000
2

Credit Check

Verifying sufficient balance

<1s
3

Rendering

Compiling HTML and variables

~5s per 1000
4

Processing

Queuing and sending to ISPs

~10s per 1000
5

Reporting

Generating delivery summary

~2s

Response

JSON
{
"success": true,
"message": "Bulk job accepted for processing",
"data": {
"jobId": "bulk_eml_123456789",
"status": "processing",
"totalMessages": 50000,
"progress": 0
}
}
Throughput

5,000/second

Messages per second

Avg Latency

2.1s

End-to-end delivery

Success Rate

99.2%

Last 24 hours

Queue Length

420

Pending messages