Appearance
Bulk WhatsApp Messaging
POST /v1/whatsapp/send-bulk
Send a message to multiple recipients in a single API call. Bulk sends are processed asynchronously via a queue and return a batch_id for tracking.
Authentication
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer sk_live_YOUR_API_KEY |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | integer | Yes | The session ID to send messages from. |
recipients | array | Yes | Array of phone number strings (e.g., ["447700900000", "14155552671"]). Max 500 per batch. |
content | string | Yes | The text content of the message. |
type | string | No | Message type. Defaults to text. |
bash
curl -X POST https://sendapi.co/v1/whatsapp/send-bulk \
-H "Authorization: Bearer sk_live_123456789" \
-H "Content-Type: application/json" \
-d '{
"session_id": 8,
"recipients": ["447700900000", "14155552671", "250788000000"],
"content": "Your order has shipped! Track it at sendapi.co/track"
}'javascript
const batch = await client.whatsapp.sendBulk({
session_id: 8,
recipients: ['447700900000', '14155552671', '250788000000'],
content: 'Your order has shipped! Track it at sendapi.co/track'
});
console.log(batch.batch_id); // Use this to track progresspython
batch = client.whatsapp.send_bulk(
session_id=8,
recipients=["447700900000", "14155552671", "250788000000"],
content="Your order has shipped!"
)Response
HTTP 202 Accepted:
json
{
"success": true,
"data": {
"batch_id": "batch_01H9...XQ",
"total_recipients": 3,
"status": "queued",
"message": "Bulk send queued for processing"
}
}Tracking Batch Progress
Use the batch_id to monitor delivery progress by checking your webhook events. Each message in the batch fires individual message.sent, message.delivered, and message.failed webhook events.
Anti-ban protection
Bulk sends are processed asynchronously by a queue worker that throttles delivery between recipients to avoid triggering WhatsApp's spam detection on your session.
Anti-Spam Limits
All plans share the same per-batch cap of 500 recipients. To send more, split your list across multiple batches.