Start free

Reaches every phone in Brazil.

Premium and OTP SMS over the API or SMPP, with the segment count on screen before you send. Plus RCS cards with images and buttons, and an SMS fallback for phones without RCS.

REST API and SMPPBrazilian numbers

Sign up through the site and get a US$5 test credit.

Sending logOne wallet, every route
  1. OTP routeAccess codeDelivered
  2. Premium routeOrder 9921, out for deliveryDelivered
  3. Reply STOPFrom the customerOpt-out recorded
  4. RCSOrder card, with SMS fallbackDelivered
Sample messages.

The right SMS for every message.

A premium route for notices and campaigns, an OTP route for verification codes and RCS when you want a card with buttons. All from the same wallet.

Short codeText Message · SMS
Your Store: order 9921 is out for delivery and arrives today by 6 pm.Premium route · shared short code
Sender
Shared short code
Good for
Notices, billing, campaigns
To start
No number registration
Short codeText Message · SMS
Your Store: your access code is 482913. It expires in 5 minutes.OTP route
Route
Only for codes
Measured
2.4 s median at Rumo.tv
Send over
REST API or SMPP
RCSCard with image and buttons
Spring saleYour Store · this week only
Sofas and armchairsDelivery included in São Paulo.
See the collection
Shows
Image, title and buttons
Fallback
SMS, if you turn it on
Send through
API or a journey

You see the count before you send.

SMS is billed per segment, like every carrier. Up to 160 characters is one segment; beyond that, every 152 count as one more. With emoji, the limit drops to 70 and 67. Accents the SMS alphabet can't carry become plain letters before sending, so they don't add cost.

Up to 160 characters, no emoji1 segment
304 characters, no emoji2 segments
Up to 70 characters, with emoji1 segment
134 characters, with emoji2 segments
Segment counterType your own text or pick a sampleSame count as the bill
Sent asSMS alphabet
Ola, Marina! Seu codigo de acesso é 482913.
Characters43
Limit per segment160
Segments1
Rumo.tv

Codes confirmed by the carrier in 2.4 seconds.

That's the median from send to carrier confirmation for SMS verification codes at Rumo.tv, a streaming platform. Measured in production, September to October 2026.

  • Delivery status for every SMS back through the API and by webhook.
  • A dedicated route for verification codes.
  • Same rate over the API or SMPP.

Rich cards, right in the messaging app.

RCS shows an image, a title and up to four buttons, to open a link, call or reply, in the phone's own messaging app. Turn on the SMS fallback and phones without RCS get a text instead.

  1. Build the card: image, title, description and buttons.
  2. Add a fallback text of up to 160 characters, if you want one.
  3. Send it through the API or as a step in a journey.
One send, two kinds of phone
RCSCard with image and buttons
Order 9921Your Store · out for delivery
Arrives today by 6 pmTrack it live or pick another time.
Track orderChange delivery time
Short codeText Message · SMS
Your Store: order 9921 is out for delivery and arrives today by 6 pm. Track it at yourstore.com/t/9921Fallback SMS
Sample messages. The phone decides which version it shows.

REST API or SMPP. Same rate.

Send through the API or connect your system over SMPP with its own credentials. Same rate, same wallet and delivery status back on both.

  • Create SMPP credentials in the dashboard and link them to an API key.
  • Same rate and same wallet over the API or SMPP.
  • Delivered or failed with the reason, by webhook.
Read the docs
Sample
curl https://api.messages.ccxcompany.co/v2/sms/messages \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Idempotency-Key: otp-7f3a9c" \  -H "Content-Type: application/json" \  -d '{"to": "+5511999998888",       "route": "otp",       "body": "Your Store: your access code is 482913"}' → 201 · queued, status back by webhook
bind_transceiver  system_id         "store-backend"  password          "••••••••"submit_sm  service_type      "otp"  destination_addr  "5511999998888"  short_message     "Your Store: your access code is 482913" → deliver_sm · delivery receipt over SMPP

Everything around the send, too.

Status, opt-outs and campaigns live in the same dashboard as your other channels.

Premium SMSNotices, confirmations, billing and campaigns over a shared short code. No number registration needed to get started.
OTP SMSVerification codes on their own route, separate from premium.
RCS cardsAn image, a title and up to four buttons in the messaging app, with an SMS fallback if you turn it on.
REST API and SMPPSend through the API or connect your system over SMPP with its own credentials.
Status for every messageDelivered or failed with the reason, in the dashboard, the API and by webhook.
Opt-out by replyAnyone who replies SAIR, PARE or STOP gets the opt-out recorded, and your next campaigns respect it.
Campaigns from the dashboardSend to a contact list or a CSV, then pause and resume without resending to people who already got it.
One walletPremium, OTP and RCS draw from the same balance as your other channels.

Built for Brazilian numbers.

SMS and RCS go out on Brazilian routes, to Brazilian mobile numbers. Pricing in USD is quoted on request.

SMS to Brazil · per segmenton request
OTP SMS to Brazil · per segmenton request
RCS to Brazil · per messageon request
OTP with RCS to Brazilon request
Plansfrom US$39/mo
Billed per SMS segment and per RCS message. Talk to us for a quote.

Questions we get from new teams

Still unsure? Talk to the team that runs the platform.

Is SMS billed per message or per segment?

Per segment. Up to 160 characters is one; beyond that, every 152 count as one more. With emoji, the limit drops to 70 and 67. The campaign wizard and the API preview show the count before you send.

Do I need my own number or short code?

No. Messages go out over a shared short code, with your brand at the start of the text.

What is RCS?

It's a richer message in the phone's own messaging app: a card with an image, a title and up to four buttons. If you turn on the fallback text, phones without RCS get it as SMS. You send it through the API or a journey.

Can I connect over SMPP?

Yes. You create the credentials in the dashboard, link them to an API key and connect your system to our gateway, with the same rate as the API and delivery receipts sent back over SMPP.

Does it work for numbers outside Brazil?

Our SMS and RCS routes are built for Brazilian mobile numbers. For other countries, talk to us.

Every phone in Brazil, one API.

Sign up through the site and get a US$5 test credit.