Searching "free SMS API" turns up a lot of trial credits, email-to-SMS gateways and per-message rates that look like fractions of a cent. Most of them don't describe what your bill will be once you send to real US phones at real volume. The per-segment rate is one line on that bill. Carrier fees, 10DLC registration, inbound replies and the segment math behind an emoji usually decide the total.

This post breaks down each cost layer, shows where the genuinely low-cost options are, and works through the math for a typical app. We make Ready, so we'll show our own pricing alongside the alternatives. Where another provider costs less per segment, we'll say so.

"Free" SMS APIs: what you actually get

There is no free way to send production SMS to US numbers at scale. Carriers charge for every message, and someone pays that charge. Here is what "free" usually means in practice.

  • Trial credits. Most CPaaS providers give a small credit to test with. Trial accounts typically have restrictions, such as sending only to numbers you've verified or adding a trial notice to the message. These limits are fine for a smoke test but won't work for a launch.
  • Email-to-SMS gateways. These cost nothing, but carriers have been shutting them down, delivery is unreliable, and you get no delivery receipts or opt-out handling. They aren't suitable for anything customer-facing.
  • Free starter texts. On Ready, your first 20 texts are free. They must be one-to-one sends, because a campaign is billed from the first text. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. The free texts end as soon as you pay for a registration, so use them before you register.

Ready also lets an account send up to 500 texts a month at its normal per-text rate before it has to register. If you bought your number before registering, you can send on Ready's shared registration at the same rate while your own registration is in review. This makes it possible to build and test a feature against real phones in an afternoon.

The four layers of an SMS API bill

Every US SMS bill is built from the same layers, whether the provider itemizes them or not.

1. The per-segment rate

Providers bill per segment, not per message. A segment holds 160 GSM-7 characters. Longer messages split into 153-character segments. A single emoji or other non-GSM character switches the whole message to unicode, which holds 70 characters per segment, or 67 per segment in a multipart message.

This is the most common hidden cost. Here is how the same message changes with one emoji:

MessageEncodingSegments
140 characters, plain textGSM-71
140 characters, one emojiUnicode3
175 characters, plain textGSM-72
175 characters, one emojiUnicode3

One emoji turns a 1-segment message into a 3-segment message, which is 3x the cost for that text. Ready automatically swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't push you into unicode. Emoji still will.

2. The carrier fee

US carriers charge a fee on each 10DLC message. Some providers include it in their quoted rate. Others list it separately, and some don't mention it until your first invoice. Ready itemizes it: $0.0045 per segment, shown on its own line. We cover the different ways providers handle this fee in this breakdown of the carrier fee line item.

3. Registration and number fees

Unregistered 10DLC traffic gets carrier-filtered, so registration is required for any real sending. On Ready:

  • Brand: $10/mo
  • Campaign: $20/mo
  • Each number: $2/mo
  • No setup fee. You pay the first month, $25, when you submit.

Most approvals take 2 to 7 days. One brand, one campaign and one number cost $27/mo before you send a single text. Every provider sending over 10DLC charges some form of this fee, though the amounts and packaging vary. Our 10DLC cost guide lists every fee.

For platforms that text on behalf of their customers, this layer grows quickly. If each of your 50 customers has its own brand, campaign and number, registration fees repeat 50 times a month before any messages are sent.

4. The extras

  • Inbound replies. Many providers bill received messages. On Ready, a reply is billed like a sent text: the per-segment rate plus the carrier fee.
  • MMS. Picture messages cost more than SMS on nearly every provider.
  • Compliance add-ons. On Ready, TCPA/DNC scrubbing and landline validation cost $0.003 extra per segment each, but only when you switch them on for an account. Both are off by default.
  • Refused sends. On Ready, texts to opted-out and numbers on your Ban list are refused before sending and are not charged. A text that falls in the recipient's quiet hours is held and is billed only when it sends.

Who is actually cheapest per segment

On the per-segment rate alone, raw CPaaS APIs are the low-cost option:

ProviderPer-segment rate (approx.)What it includes
Twilio~$0.0083Raw API. You build registration flow, opt-out logic and compliance yourself
GoHighLevel / LeadConnector~$0.0083/msg, ~$0.0128 all-inInside the GHL platform
Telnyx, Plivo, BandwidthSimilar underlying carrier costRaw API, build-your-own compliance
Ready Standard$0.0075 + $0.0045 carrier feeRegistration in-app, sub-accounts, STOP handling, quiet hours, optional scrubbing, inbox

Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.

If your only metric is per-segment cost and your team is happy to build and maintain registration, opt-out propagation and quiet-hour logic, Twilio or Telnyx is the right choice. That is a legitimate decision.

Ready makes more sense when the expensive part of your project is engineering time and compliance risk rather than message cost. Examples include building a 10DLC registration flow for every customer, keeping each customer's numbers isolated in its own sub-account, and making sure an opt-out in one campaign blocks the contact everywhere. For a broader comparison of the developer experience, see our 2026 SMS API comparison.

Worked example: an app sending 20,000 notifications a month

The assumptions for this example are:

  • 20,000 outbound texts a month
  • One brand, one campaign and one number
  • 3,000 one-segment replies a month (an assumption; your reply rate will differ)
  • Ready Standard at $0.0075 per segment plus the $0.0045 carrier fee
  • Scrubbing and landline validation left off

Version A: 140-character plain-text messages (1 segment each)

  • Outbound: 20,000 × $0.0075 = $150, plus 20,000 × $0.0045 in carrier fees
  • Replies: 3,000 × $0.0075 = $23, plus 3,000 × $0.0045
  • Registration: $35
  • Total: $495 plus 23,000 × $0.0045

Version B: the same messages with one emoji (3 segments each)

  • Outbound: 60,000 segments × $0.0075 = $450, plus 60,000 × $0.0045
  • Replies and registration: unchanged
  • Total: $1,295 plus 63,000 × $0.0045

The emoji adds $800 a month in segment charges alone. That is much larger than the per-segment price gap between most providers. The same effect applies on Twilio: 20,000 one-segment texts at ~$0.0083 come to about $166 in segment charges, and 60,000 come to about $498. On any provider, removing the emoji saves more than switching providers would.

If you switch on scrubbing for this account, add $0.003 per segment. In Version A that is 20,000 × $0.003 = $60 on the outbound sends.

Cutting the bill without switching providers

  1. Remove emoji and special characters from templated messages. Count characters in CI if your templates are dynamic.
  2. Keep messages under 160 GSM-7 characters. A message of 161 characters costs two segments.
  3. Send links instead of images unless the picture is the point of the message.
  4. Use idempotency keys. A retry that sends twice doubles your cost and annoys the recipient. On Ready, send an Idempotency-Key header with any UUID.
  5. Register only the campaigns you need. Each one costs $20/mo.

Here is a minimal send on Ready:

curl -X POST https://api.tryready.com/v1/messages \
  -H "X-API-Key: $READY_API_KEY" \
  -H "Idempotency-Key: 6f1c2a9e-3b7d-4e2a-9c1f-0a8b5d4e7c21" \
  -H "Content-Type: application/json" \
  -d '{"to": "+12125550199", "body": "Your order #1042 has shipped.", "consent_attested": true}'

consent_attested is your promise that the recipient agreed to receive texts. Ready records that attestation per send to build an audit trail. Collecting and storing the actual opt-in record is still your responsibility. For lists, POST /v1/messages/bulk takes up to 100 recipients per call. Full reference: messages API docs and the quickstart.

The practical takeaway

The lowest per-segment rate doesn't always produce the lowest bill. Per message, the costs that matter most are segment count and carrier fees. Per month, registration matters most, especially if you register brands for many customers. Inbound replies and compliance add-ons determine whether your estimate holds once real users start replying.

To find your real cheapest option:

  1. Estimate your segments, not your messages.
  2. Add carrier fees and registration costs.
  3. Decide whether you want to build compliance yourself or pay for it as part of the rate.

If raw cost per segment is what matters most, a CPaaS will serve you well. If you need registration, sub-accounts and opt-out handling working this week, you can create a Ready account, send your 20 free one-to-one texts before you register, and check the numbers against your own traffic. For high-volume or custom needs, Enterprise pricing is negotiated individually, so talk to us. For more detail on per-text pricing, see SMS API pricing explained.