Skip to content

Bulk SMS

POST /v1/sms/send-bulk

Send an SMS to multiple recipients in a single request. Bulk sends are queued and processed asynchronously. A batch_id is returned for tracking.

Request Body

ParameterTypeRequiredDescription
recipientsarrayYesArray of E.164 phone numbers. Max 10,000 per request.
contentstringYesMessage text. Max 918 characters (6 segments).
sender_idstringNoAlphanumeric sender ID (e.g., SendAPI). Support varies by country.
bash
curl -X POST https://sendapi.co/v1/sms/send-bulk \
  -H "Authorization: Bearer sk_live_123456789" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": ["+447700900000", "+14155552671", "+250788000000"],
    "content": "Flash sale! 20% off all plans today only. Use code FLASH20 at sendapi.co/pricing"
  }'
javascript
const batch = await client.sms.sendBulk({
  recipients: ['+447700900000', '+14155552671', '+250788000000'],
  content: 'Flash sale! 20% off all plans today only.'
});

console.log(batch.batch_id);
python
batch = client.sms.send_bulk(
    recipients=["+447700900000", "+14155552671"],
    content="Flash sale! 20% off all plans today only."
)

Response

json
{
  "batch_id": "batch_01H9...XQ",
  "status": "queued",
  "total": 3,
  "estimated_cost_usd": 0.18,
  "queued_at": "2026-03-09T14:30:00Z"
}

Cost Estimation

The estimated_cost_usd is calculated at queue time based on current routing prices. Final charges may vary slightly due to carrier routing changes.

Released under the MIT License.