SMS

What is bulk SMS?

Bulk SMS means sending the same message to many recipients in one operation. There is no separate product behind the phrase: it is the ordinary send path used at a volume where a handful of things that did not matter before start to.

How is a bulk send different from a single one?

At the API, barely. Everywhere else, quite a lot.

Bird's sending guide covers batch sending on the same endpoint family as an individual message, and the asynchronous model is identical: the request is accepted, an identifier comes back, and delivery outcomes arrive afterwards as events. A 202 means the platform has the work, not that anyone has the message.

What changes with volume is not the call. It is that the send now takes measurable time, that a mistake reaches everyone, and that rules which are invisible at ten messages are binding at ten thousand.

How long will a large send take?

Longer than people expect, and the arithmetic is worth doing before rather than after.

The limiter is the route's throughput rather than your code. Each destination and sender type carries its own messages-per-second ceiling, published on the destinations page, and messages leave at that rate no matter how quickly you submit them.

Two multipliers catch people out:

  • Segments, not messages, are the unit. A body that splits into two segments occupies the route twice, so it takes twice as long and costs twice as much. What is an SMS segment covers the counting, and one stray typographic character can be the difference. GSM-7 vs UCS-2 covers why.
  • Mixed destinations run at a blend. An international list moves at each route's own rate, so the campaign finishes when the slowest destination does.

What is SMS throughput covers both ceilings, including why submitting faster does not help once you are past the network's.

What actually goes wrong at volume?

Not the sending. The list, the consent, and the sender.

  • Consent is per recipient. Which model applies is a property of the destination, not a policy you set once, so a single list can be governed by several at the same time. Which SMS consent model applies covers the three and who decides.
  • Opt-outs have to be honoured before the next send, not after it. A campaign built from a list snapshot taken last week will mail people who have since stopped. What is a STOP keyword covers what must happen when one arrives.
  • The sender has to be permitted where you are sending. Sender types are not universally carried, and a sender a destination will not accept fails for the whole segment of your list in that country. Which sender type should I use covers the choice.
  • Spreading a campaign across numbers to go faster is an abuse pattern. Carriers call it snowshoeing and the CTIA messaging principles name it as something senders should not do.

What should I do before a large send?

Four things, in this order, and none of them is about the code.

  1. Check the destinations you are sending to, for sender availability, consent model and throughput. One page carries all three.
  2. Count segments rather than characters, on the real body with the real variables substituted, since personalisation can push a message over a boundary for some recipients and not others.
  3. Re-derive the list against current opt-outs rather than reusing an export.
  4. Send a small slice first. A failure that reaches fifty people is a lesson; the same failure at fifty thousand is an incident.

For the mechanics of the batch call itself, including how partial failures are reported, the sending guide is the reference.

Buduj na tej samej sieci.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i zweryfikowaniu nadawcy.

Zacznij od jednego kanału.
Dodaj kolejne, gdy będziesz gotowy.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i weryfikacji nadawcy.

Używasz Claude Code, Cursor lub Codex? Skopiuj prompt konfiguracyjny, a Twój agent zainstaluje za Ciebie Bird CLI i umiejętności. Wybierz swój:

Cursor