Bulk SMS · 190+ Countries · Custom Sender ID

SMS Marketing API

Reach your audience directly with personalized SMS campaigns. High-deliverability routing, custom sender IDs, and built-in opt-out management.

Key Features

Bulk SMS with personalization

Send to thousands of recipients in a single API call with per-recipient variable substitution — names, promo codes, links.

Custom Sender ID

Send from your brand name (e.g., "ACME") in countries that support alphanumeric sender IDs. Long codes and short codes available everywhere else.

Opt-out management

Automatic STOP/UNSUBSCRIBE handling per sender ID. Replies are captured via webhook and opt-outs are enforced on subsequent sends.

Scheduling & time-zone awareness

Schedule campaigns to send at the right local time per recipient. Avoid late-night sends that generate complaints.

Code Example

await client.sms.sendBulk({
  messages: customers.map(c => ({
    to: c.phone,
    template: 'flash_sale',
    variables: {
      name: c.firstName,
      discount: c.loyaltyTier === 'gold' ? '30%' : '20%',
      code: c.promoCode,
    }
  })),
  options: {
    senderId: 'ACME',
    scheduledAt: '2026-03-15T09:00:00-05:00',
    idempotencyKey: 'campaign-spring-sale-2026',
  }
})