Bulk SMS means sending one text to many people at once from a business number. Examples include a sale announcement to 3,000 past customers, a schedule change to 400 class members, or a "we're open Saturday" note to everyone who opted in last month. It isn't complicated. What catches new senders out is how carriers meter and filter those texts, and the rules about who you're allowed to text.

This guide covers what a bulk SMS service does, the three ways businesses send (an app, an API or an integration), how to estimate the cost of a send before you press go, and which US compliance rules apply. Where Ready is a good fit we say so, and where it isn't we say that too.

What bulk SMS actually is

A bulk send is still a set of individual texts. If you send to 2,000 people, the carrier delivers 2,000 separate messages, each to one phone. "Bulk" describes the workflow: one message, one list, one action. It doesn't describe a special type of message.

Two terms you'll see a lot:

  • A2P (application-to-person): any text sent by software on behalf of a business. Bulk SMS is always A2P, even when a person writes the message. Our A2P vs P2P explainer covers why carriers treat it differently from texts between friends.
  • 10DLC: a regular 10-digit local number registered for business texting. Most US small businesses send bulk SMS from 10DLC numbers.

Why businesses use it

Most people read their texts, and they read them quickly. Email often sits in a promotions tab for days, while a text lands next to messages from friends and family. Messages that ask for a reply get replies from opted-in lists, and your results depend on your list and what you send.

The tradeoff is that SMS is personal territory. A text that isn't wanted annoys people far more than an unwanted email, and the law treats it more harshly too. We cover that below.

Three ways to send bulk SMS

Every bulk SMS service is a layer over carrier infrastructure. They differ in how you reach that layer.

MethodWho it suitsWhat you doTradeoff
Web appOwners and marketersUpload contacts, write a message, scheduleLeast setup; you work inside the app's features
APIDevelopers, SaaS productsSend through code from your own systemFull control; you build the interface yourself
IntegrationCRM users (for example GoHighLevel)Texts go out from the CRM you already useDepends on how deep the integration goes

The app route

You import a CSV, segment by tag or last purchase date, write the message (Ready's AI message writer can draft it and run a spam-filter check), then send or schedule. Replies land in a shared inbox, so a campaign turns into individual conversations.

The API route

If your own software triggers the sends, you call an endpoint. On Ready, a bulk send looks like this:

POST https://api.tryready.com/v1/messages/bulk
X-API-Key: <your key>
Idempotency-Key: <one new UUID for this batch, reused on every retry>

{
  "to": ["+12125550199", "+15559876543"],
  "body": "Your class moved to 6 PM Thursday. Reply STOP to opt out.",
  "consent_attested": true
}

Each call takes up to 100 recipients, so a larger list is split into batches. The Idempotency-Key makes sure a retried request never sends twice. Make one key per batch and send the same key again when you retry after a timeout. consent_attested is your statement that these recipients agreed to receive texts. The full reference is in the bulk messages docs, and our SMS API explainer covers keys and setup.

The integration route

Ready installs natively into GoHighLevel through OAuth as an alternative to LC Phone. It syncs inbound and outbound messages in both directions and maps them to each GHL location, so agencies keep every sub-account separate. GHL is one route among several. Ecommerce stores, clinics, gyms and SaaS products use the app or the API directly.

How a bulk send is billed: segments

Carriers bill by segment, not by message, and this is where most cost surprises come from.

  • One segment holds 160 standard characters. A longer message splits into 153-character segments.
  • A single emoji or other special character switches the entire message to unicode. That drops the limit to 70 characters, or 67 per segment for longer messages.
  • Ready converts curly quotes, long dashes and ellipses to plain versions before sending, so those characters don't change your count on Ready.

Worked example: the emoji tax

Assume a 175-character promo sent to 5,000 opted-in customers on Ready's Standard rate of $0.0075/segment, plus a $0.0045 carrier fee per segment.

With one emoji: 175 characters ÷ 67 per segment = 3 unicode segments.

  • 5,000 × 3 = 15,000 segments
  • Rate: 15,000 × $0.0075 = $113
  • Carrier fee: 15,000 × $0.0045 = $67.50
  • Total: $180.00

Same message, emoji removed and trimmed to 155 characters: 1 segment.

  • 5,000 × 1 = 5,000 segments
  • Rate: 5,000 × $0.0075 = $38
  • Carrier fee: 5,000 × $0.0045 = $22.50
  • Total: $60.00

One emoji plus 20 extra characters triples the bill. These all-in figures don't include optional screening described below. Replies you receive are billed like sent texts, so a campaign that works well also creates some inbound cost. Budget for that and count it as a good sign. To turn costs like these into a payback figure, see our SMS marketing ROI worked examples.

Where we sit on price

If you only need raw sending and plan to build everything else yourself, a CPaaS like Twilio charges less per segment, at around $0.0083. GoHighLevel's LeadConnector runs about $0.0083 per message, or roughly $0.0128 all-in. What our rate includes is the rest of the stack: self-serve registration, a CRM, pipeline, automations, the unified inbox and the compliance tooling. Ready is billed through prepaid Stripe credits, with carrier fees itemized separately. The current card is on our pricing page. Enterprise pricing is custom, so talk to us if you need it.

Registration: the step you can't skip

US carriers filter unregistered A2P traffic. Before you send at volume, your business (the "brand") and what you send (the "campaign") are registered through The Campaign Registry. On Ready this happens in-app:

  • At submit: $25, which covers the first month. There's no setup fee.
  • Monthly after that: $25/mo for registration + $2 per number.
  • Timing: most approvals take 2 to 7 days.

While you wait, an account can send up to 500 texts a month before registering, at its normal per-text rate. An account that bought a number before registering sends on Ready's shared registration while its own is in review. Our 10DLC cost breakdown itemizes every fee.

Throughput: how fast a bulk send goes out

Registration also determines your speed. A fresh standard campaign with no vetting usually gets roughly 1 to 4 segments per second. Carriers don't publish official numbers, so treat these as approximations.

Using the 15,000-segment example at an assumed 3 segments per second, the send takes about 5,000 seconds, or around 83 minutes. T-Mobile also caps brands by trust score. At the lowest tier that's roughly 2,000 messages a day, so a large list can take more than one day. Brand vetting ($79 Standard / $179 Enhanced, one-time) can raise that cap if it moves you into a higher tier. Most small senders don't need it.

US compliance rules for bulk SMS

This is the part to read twice. The TCPA allows statutory damages of roughly $500 to $1,500 per text for unwanted messages. Across a list of thousands, that adds up quickly.

Consent comes first

Only text people who opted in to hear from you: a checkbox at checkout, a keyword they texted, a form with clear disclosure. Cold outreach should go by phone or mail. Bulk SMS is for consented contacts and leads who replied. Our opt-in explainer explains what counts as valid consent.

Ready records your attestation for each bulk send and each API send that sets consent_attested: who sent it, to how many people, and when. That gives you an audit trail of your sending. It is not a per-contact consent record. Keep each contact's opt-in time, wording and page URL in your own store or CRM.

What Ready handles automatically, and what costs extra

  • STOP handling: inbound STOP and UNSUBSCRIBE are honored, and the opt-out applies across every campaign. Opted-out numbers are refused before sending and aren't charged.
  • Quiet hours: sends are held outside permitted local hours, based on the recipient's area, and charged only when they actually go out. For choosing a good time inside those hours, see best times to send by industry. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
  • Litigator and DNC scrubbing: screens known TCPA litigators and DNC complainers before a send. Switched on for an account, it adds $0.003 per segment. A standalone scrub of a list is $0.005 per contact.
  • Landline validation: numbers Ready has already seen as landlines are refused on every account, free. Switched on, it also looks up each new number and refuses landlines, at $0.003 per segment. Both validation and scrubbing are off by default.

These features reduce your risk. They don't make you immune to lawsuits, and compliance remains the sender's responsibility. If your texts are advocacy alerts, donation appeals or messages to voters, email support@tryready.com before your first send and wait for our reply. Signing up and registering isn't enough on its own for those.

Getting started without wasting money

A sensible order:

  1. Clean your list down to people who opted in, and confirm you have records of that consent.
  2. Write one-segment messages: under 160 characters, no emoji, with a clear opt-out line.
  3. Test first. Ready's first 20 texts are free one-to-one sends, so use them to check formatting on real phones before you register. They end once a registration is paid for. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.
  4. Register your brand and campaign, and match the use case to what you actually send.
  5. Send to a small segment, check replies and opt-outs, then scale up.

Bulk SMS is simple once you understand segments, registration and consent. Get those three right and a send costs what you expected and reaches the people who asked to hear from you. When you're ready to try it, you can create an account and send those first test texts.