Bulk Messaging & Broadcasts

Bulk WhatsApp Messaging to Your Opted-In Customers

Send an approved template to your audience in a 3-step campaign wizard: pick contacts or tags, or upload a CSV, map the variables, then send now or schedule it. Opted-out numbers are skipped, quiet hours hold sending, and delivery, reads and replies are tracked.

✦ 14-day free trial · Your own WhatsApp Business number · Meta bills messages directly

Official Broadcasting That Protects Your Number

StartMessaging runs on Meta's official WhatsApp Business Platform with your own WhatsApp Business Account, not on WhatsApp Web automation that gets numbers blocked. You send Meta-approved templates to opted-in contacts, and anyone who replied STOP is skipped automatically. Meta sets a daily messaging limit for your business; your quality rating and current limit are shown in the dashboard, and if Meta limits sending, the campaign pauses so you can resume it later. Before launch, a pre-launch check estimates how many people can get it today and what Meta will charge.

  • Audience from picked contacts (up to 1,000), tag filters or a CSV upload (up to 50,000 rows)
  • Variables mapped from contact fields, attributes or fixed text, with image, video or document headers
  • Opted-out contacts skipped automatically, even if they opt out before their turn
  • Send now or schedule up to 60 days ahead; pause, resume, unschedule or cancel, with delivery and read tracking
WhatsApp Broadcast Dashboard UI
Bulk Sending Features

Everything a Bulk Send Needs, the Official Way

  • 3-Step Campaign Wizard

    Pick an approved template, choose the audience and review before launch. Save a draft, or create and launch in one go.

  • Personalised Variables & Media

    Fill each template variable from a contact field, a custom attribute or fixed text, and add an image, video or document header.

  • Opt-Out Protection

    Contacts who replied STOP can't be selected, and anyone who opts out before their turn is skipped. A CSV audience goes only to numbers that haven't opted out.

  • Pause, Resume & Reports

    Pause a running campaign to stop the remaining sends and resume it later; messages already sent stay sent. Each campaign's report follows sent, delivered, read, button taps and replies, explains why messages failed, shows about what Meta charged and exports the recipients as a CSV.

  • Follow-Up Chatbot Flow

    Optionally enrol recipients in a chatbot flow so replies to the campaign are handled automatically. On the Business plan.

  • Single Sends via API

    Send one template per request from your own code with POST /api/v1/messages. Bulk sends happen in the dashboard, and you can read campaign results over the API.

  • Scheduling & Quiet Hours

    Schedule a broadcast from 2 minutes to 60 days ahead, then unschedule or cancel it until it starts. Quiet hours pause sending and carry on by themselves when they end, and a calendar shows what went out and what is scheduled.

  • Pre-Launch Check

    Before you launch, see what Meta says about your number and template, account restrictions, payment problems, how many people can get it today, US numbers that will be skipped and an estimated Meta charge.

Bulk Sending Compared

Official Bulk Messaging vs Unofficial Bulk Senders

Blasting messages through WhatsApp Web automation or modified apps breaks WhatsApp's terms and puts your number at risk. Here's how the official route differs.

Comparison Point StartMessaging (Official API) Unofficial Bulk Senders
How messages are sent Official WhatsApp Business Platform, with your own WABA Automates WhatsApp Web or a phone app
Message format Meta-approved templates with media headers and buttons Free text, often flagged as spam
Opt-outs STOP replies skipped automatically Tracked by hand, if at all
Sending pace Within Meta's messaging limit, with quiet hours; pause and resume anytime Manual delays to avoid detection
Delivery & read tracking
Number risk Low with opted-in contacts and approved templates High; numbers are often blocked
Messages API

Send an approved template from your code

curl -X POST https://waba-api.startmessaging.com/api/v1/messages \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: diwali-sale-919812345678" \
  -d '{
    "to": "+919812345678",
    "type": "template",
    "template": {
      "name": "diwali_sale",
      "language": "en_US",
      "headerMediaUrl": "https://cdn.example.com/diwali-sale.jpg",
      "parameters": [
        {
          "text": "Aarti"
        }
      ],
      "buttonParameters": [
        {
          "index": 0,
          "subType": "copy_code",
          "couponCode": "DIWALI25"
        }
      ]
    }
  }'
const res = await fetch('https://waba-api.startmessaging.com/api/v1/messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.SM_API_KEY,
    'Content-Type': 'application/json',
    'Idempotency-Key': 'diwali-sale-919812345678',
  },
  body: JSON.stringify({
    "to": "+919812345678",
    "type": "template",
    "template": {
      "name": "diwali_sale",
      "language": "en_US",
      "headerMediaUrl": "https://cdn.example.com/diwali-sale.jpg",
      "parameters": [
        {
          "text": "Aarti"
        }
      ],
      "buttonParameters": [
        {
          "index": 0,
          "subType": "copy_code",
          "couponCode": "DIWALI25"
        }
      ]
    }
  }),
});

const { data } = await res.json();
console.log(data.id, data.status);
import os, requests

res = requests.post(
    'https://waba-api.startmessaging.com/api/v1/messages',
    headers={
        'Authorization': f"Bearer {os.environ['SM_API_KEY']}",
        'Idempotency-Key': 'diwali-sale-919812345678',
    },
    json={
      "to": "+919812345678",
      "type": "template",
      "template": {
        "name": "diwali_sale",
        "language": "en_US",
        "headerMediaUrl": "https://cdn.example.com/diwali-sale.jpg",
        "parameters": [
          {
            "text": "Aarti"
          }
        ],
        "buttonParameters": [
          {
            "index": 0,
            "subType": "copy_code",
            "couponCode": "DIWALI25"
          }
        ]
      }
    },
)

data = res.json()['data']
print(data['id'], data['status'])
<?php
$body = <<<'JSON'
{
  "to": "+919812345678",
  "type": "template",
  "template": {
    "name": "diwali_sale",
    "language": "en_US",
    "headerMediaUrl": "https://cdn.example.com/diwali-sale.jpg",
    "parameters": [
      {
        "text": "Aarti"
      }
    ],
    "buttonParameters": [
      {
        "index": 0,
        "subType": "copy_code",
        "couponCode": "DIWALI25"
      }
    ]
  }
}
JSON;

$ch = curl_init('https://waba-api.startmessaging.com/api/v1/messages');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('SM_API_KEY'),
        'Content-Type: application/json',
        'Idempotency-Key: diwali-sale-919812345678',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$data = json_decode(curl_exec($ch), true)['data'];
echo $data['id'] . ' ' . $data['status'];
FAQs

Broadcast — Frequently Asked Questions

What is bulk WhatsApp messaging, and is it allowed?

Bulk WhatsApp messaging means sending the same approved template to many customers at once. It's allowed on the official WhatsApp Business Platform when recipients have opted in to hear from you and you use Meta-approved templates. Tools that automate WhatsApp Web or the phone app to blast messages break WhatsApp's terms and often get numbers blocked.

How many contacts can I send a broadcast to?

Pick up to 1,000 contacts by hand, select everyone who matches your tag filters, or upload a CSV of up to 50,000 rows. Meta also sets a messaging limit for your business: how many different customers you can message outside a 24-hour window in a rolling 24 hours, shared by all your numbers. Meta raises it as your quality stays good. The pre-launch check estimates how many people can get the campaign today, and if Meta limits sending, the campaign pauses so you can resume it later.

Do I need to use pre-approved templates for broadcasts?

Yes. WhatsApp requires business-initiated messages to use approved templates. You can create templates in our dashboard. Meta reviews templates; most decisions arrive quickly, but timing is set by Meta.

Can I pause a campaign after launch?

Yes. Launching starts sending right away, but you can pause a running campaign to stop the remaining sends and resume it later, or cancel it so nobody else receives it. Messages already sent stay sent. A scheduled campaign can be unscheduled (it becomes a draft again) or cancelled until it starts. You can also duplicate a campaign to reuse its setup.

Can I schedule a broadcast?

Yes, on Team and up. Pick a time from 2 minutes to 60 days ahead; the audience is checked again when it sends, so anyone who opted out in the meantime is skipped. If your workspace has quiet hours, sending waits them out and carries on by itself. On the Business plan, a campaign can also repeat every day, on chosen weekdays or monthly.

Can I broadcast carousels or limited-time offers?

No. Campaigns can't send carousel, limited-time offer, authentication or catalog templates, so the campaign picker hides them. Carousel, limited-time offer and authentication templates can go out one at a time from the inbox or through the API (POST /api/v1/messages). Broadcasts send standard templates with text or media headers, variables, quick replies, links and coupon codes.

Can I send bulk messages through the API?

The API sends one message per request with POST /api/v1/messages, within your plan's API rate limits. Campaigns are created and launched in the dashboard; over the API you can read a campaign's status and results.

Do I need TRAI DLT registration to send WhatsApp broadcasts in India?

No. WhatsApp Business Platform messages do not need TRAI DLT registration — DLT applies to SMS. You still need opt-in from each contact and Meta-approved templates.

WhatsApp API

Start Broadcasting on WhatsApp Today

14-day free trial. Connect your own WhatsApp Business number in minutes.