Skip to content

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

HeaderTypeRequiredDescription
AuthorizationstringYesBearer sk_live_YOUR_API_KEY

Request Body

ParameterTypeRequiredDescription
session_idintegerYesThe session ID to send messages from.
recipientsarrayYesArray of phone number strings (e.g., ["447700900000", "14155552671"]). Max 500 per batch.
contentstringYesThe text content of the message.
typestringNoMessage 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 progress
python
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.

Released under the MIT License.