Twilio alternatives, read for compliance and the move
5 alternatives against TwilioVendor claims read 2026-10-22
For a business that texts customers through Twilio and is weighing a move: which providers handle STOP andHELP, 10DLC and toll-free verification, and what happens to your numbers, campaigns and opt-out list on the way out. Twilio is the baseline column, described from its own docs; we read every provider's documentation on 2026-10-22. Choosing a first provider instead? See the SMS API providers comparison.
Verdict by use case
Best overall
Its docs answer every row a move touches: 10DLC and toll-free verification by API, hosted SMS for moving texting first, and an opt-out list you can read back. Optional AI detection treats a plain-language opt-out like STOP.
Best for a guided 10DLC move
Plivo's switch page offers an assisted 10DLC migration from Twilio, and its migration guide maps Twilio's messaging calls to Plivo's. Plan around one gap: its docs list "Hey, can you stop texting me?" as an invalid opt-out, so plain-language replies need your own handling.
Best for provider-managed STOP and HELP
Opt-Out Assist handles STOP and HELP keywords, replies and block lists, with keywords set beside the 10DLC campaign. It blocks only the number a person texted, so a pool of numbers needs your own list on top.

Six providers, five texting rules
These rows are what the provider answers for on every message: honouring opt-outs, replying to HELP, registering for 10DLC and keeping a record of consent. "Our pick" marks the best-overall verdict; the Twilio column is the baseline you are moving from. New to the registration side? Start with what 10DLC is.
| Requirement | Twilio | Our pickTelnyx | Plivo | Bandwidth | Vonage | Sinch |
|---|---|---|---|---|---|---|
| Honours STOP and plain-language revocation automatically | No | Yes | No | No | Check with the vendor | No |
| HELP auto-reply | Yes | Yes | Yes | Check with the vendor | Yes | Check with the vendor |
| 10DLC brand and campaign registration in-product | Yes | Yes | Yes | Yes | Yes | Yes |
| Records opt-in with a timestamp and the number | Yes | Check with the vendor | No | No | Check with the vendor | Check with the vendor |
| Consent records exportable | Check with the vendor | Check with the vendor | Check with the vendor | Check with the vendor | Check with the vendor | Check with the vendor |
- Honours STOP and plain-language revocation automatically
- The FCC rule names seven reply words and also counts any reply a reasonable person reads as a revocation.47 CFR § 64.1200(a)(10)
- HELP auto-reply
- CTIA's confirmation calls for customer care contact details or HELP instructions.CTIA Messaging Principles and Best Practices (May 2023), 5.1.2.1
- 10DLC brand and campaign registration in-product
- US carriers route business texts on local numbers through registered brands and campaigns.
- Records opt-in with a timestamp and the number
- CTIA asks senders to keep the date, time, number and the words used to secure consent.CTIA Messaging Principles and Best Practices (May 2023), 5.1.2
- Consent records exportable
- CTIA asks senders to retain every opt-in and opt-out so consent can be shown later.CTIA Messaging Principles and Best Practices (May 2023), 5.1.5
Why teams look past Twilio
No single reason, and no table settles price for you. The common ones, stated the way each vendor states its own case:
- Price
- Per-message rates, carrier pass-through fees and number fees differ by provider and change often, so the only figure worth using is each vendor's live pricing page on the day you decide. The Twilio SMS pricing explainer shows how one bill is built, line by line.
- Network
- Telnyx says it owns and operates its own carrier network. If routing control matters to you, ask each shortlisted provider the same question and get the answer in writing.
- Compliance tooling
- Plain-language opt-out detection, an opt-out list you can read back, and HELP replies the provider sends for you all differ between providers. The two tables on this page show where each one stands, and the opt-out keywords guide covers the words carriers expect you to honour.
- Voice moves too
- Plivo publishes a guide for moving Twilio voice apps and Bandwidth a migration toolkit for them; Telnyx and Sinch can text-enable numbers whose calls stay with another carrier.
Five checks for the move
The rows a switch touches and a first-time buyer never asks about. The one "No" in Twilio's column is the reason step 01 below comes first.
| Requirement | Twilio | Our pickTelnyx | Plivo | Bandwidth | Vonage | Sinch |
|---|---|---|---|---|---|---|
| Opt-out list readable by API | No | Yes | Check with the vendor | No | Check with the vendor | Yes |
| Ports your existing numbers in | Yes | Yes | Yes | Yes | Yes | Yes |
| Texts from a number left with its voice carrier (hosted SMS) | Yes | Yes | Check with the vendor | Check with the vendor | Check with the vendor | Yes |
| Takes in a 10DLC campaign registered elsewhere | Yes | Yes | Yes | Yes | Yes | Check with the vendor |
| Toll-free verification submitted by API | Yes | Yes | Yes | Yes | Yes | Yes |
- Opt-out list readable by API
- A revocation must be honoured within 10 business days; reading the provider's block list keeps your CRM, your other senders and any next provider in step.47 CFR § 64.1200(a)(10)
- Ports your existing numbers in
- Customers reply to the numbers they already know; keeping them keeps STOP and HELP replies reaching you.
- Texts from a number left with its voice carrier (hosted SMS)
- Texting can move first while calls stay where they are, which splits one risky cutover into two smaller ones.
- Takes in a 10DLC campaign registered elsewhere
- A campaign that moves keeps its carrier approval; a new registration goes back through review.
- Toll-free verification submitted by API
- US carriers require a toll-free number to be verified before it sends business texts; an API submits verification from code, one number or many at once.
What moves, in order
Five steps, in the order they go wrong if skipped. Each names the vendor page it rests on.
- 01
Take your opt-out list with you first
Twilio blocks a number when it replies STOP, but Advanced Opt-Out does not report those blocks through the Console or the REST API. Build the list yourself: every STOP also reaches your inbound webhook, and Bulk Export delivers daily files of your message logs (each file kept seven days). Load the list into your own sending code before the first message leaves the new provider. The revocation rules bind the business, whichever provider took the reply.
- 02
Choose port or host, number by number
A full port moves calls and texts together. Hosted SMS moves only texting and leaves voice with the current carrier, which Telnyx's docs offer for a gradual move. Either way, texting follows the number's NetNumber ID: if the losing carrier does not release it on the port date, texts keep routing there after calls have moved. Send a test reply to every number on the day it ports.
- 03
Move the 10DLC campaign instead of starting over
Twilio's docs describe approved campaigns moving between providers through a connectivity-partner migration, without re-registration, with the numbers ported first. Ask each provider on your shortlist how it takes a campaign registered through Twilio: Plivo offers an assisted move, and Telnyx, Bandwidth and Vonage document taking campaigns shared through The Campaign Registry. If a fresh registration is unavoidable, the 10DLC registration checklist covers what carriers review.
Twilio: Externally registered campaignsPlivo: Switch from Twilio
- 04
Re-check toll-free verification
Toll-free numbers are verified on their own track, outside 10DLC (10DLC vs toll-free vs short code). New requests at Telnyx carry business registration number fields, and Plivo now requires terms and privacy-policy links. Whether an approved verification follows the number depends on where it lands. Twilio says a verification cannot move between providers: you submit a new one once the port completes (before then it fails with error 30447), and traffic stays treated as verified until that review. Bandwidth says a verified number keeps its status after the port and still asks you to verify it again with them. Telnyx's and Plivo's pages we read do not say, so ask before the port date. The 10DLC vs toll-free guide covers the verification route.
Twilio help centre: Toll-free message verification for US/Canada (porting FAQ)Bandwidth: Toll-Free Verification handbookTelnyx: Toll-Free VerificationPlivo: Toll-free verification API
- 05
Rebuild keywords, replies and consent records
Custom keywords and replies set in Advanced Opt-Out stay in the Twilio account. Recreate the STOP, START and HELP replies on the new account and text each keyword to each number before cutover. Keep opt-in records in your own consent log (number, date, time and the words the person agreed to), so the record never depends on which provider you use; the Records guides and tools cover what else to keep.
Where a STOP lands
One opt-out reaches a different set of numbers on each provider. The docs of four providers say how far. More on opt-outs in the Texting pillar.
| Provider | What one STOP blocks | Read on |
|---|---|---|
| Twilio | The sender that received the STOP and the Messaging Service it sits in. A re-opt-in has to clear both blocks. | Twilio: Consent Management API |
| Telnyx | The whole messaging profile: a STOP to one number blocks every number on that profile. Separate programmes need separate profiles. | Telnyx: Opt-In/Out Management |
| Vonage | Only the number the person texted. Other numbers in a pool need your own block on top. | Vonage: Opt-Out Assist technical details |
| Sinch | The Conversation API app's consent lists, by type: all messages, marketing only, or notifications only. | Sinch: Consent management |
Toll-free numbers follow the carriers, not the provider. Twilio's docs say a US toll-free number always unsubscribes a person who replies STOP, and Vonage's say toll-free opt-outs are enforced at network level and cannot be switched off. Tell toll-free audiences to use STOP and START, whatever custom keywords you set.
The move is where this bites. Numbers that sat in one Twilio Messaging Service may land in one Telnyx profile (every STOP now blocks the whole profile) or in a Vonage pool (each STOP blocks one number). Pick the reach your programme needs, and keep your own opt-out list as the record that decides who gets a message.
Provider by provider
Each card repeats both tables' rows with the detail from the provider's own page.
Twilio
What it is
The provider this page starts from. A Messaging Service groups your senders; Advanced Opt-Out sets the STOP, START and HELP keywords and replies for every sender in that pool, and the Consent Management API stores opt-in and opt-out status.
Who it fits
The baseline: read its column as what you have today and the other columns as what changes.
- Honours STOP and plain-language revocation automaticallyNo
STOP, UNSUBSCRIBE, END, QUIT, STOPALL, REVOKE, OPTOUT and CANCEL are handled by default on long codes. Only single-word replies trigger the block; "STOP PLEASE" does not.
- HELP auto-replyYes
HELP is a reserved keyword; Advanced Opt-Out sets the reply. A number that has opted out does not get it.
- 10DLC brand and campaign registration in-productYes
Brands and campaigns in the Console; software companies registering their customers can also use the API.
- Records opt-in with a timestamp and the numberYes
The Consent Management API stores opt-in and opt-out status with the date and source of consent. Access is by request unless you use the Compliance Toolkit.
- Consent records exportableCheck with the vendor
Advanced Opt-Out does not report blocked numbers through the Console or the REST API, and the Consent Management API page documents writing records, not reading them.
- Opt-out list readable by APINo
Advanced Opt-Out does not support changing or reporting on blocked numbers through the Console or the REST API.
- Ports your existing numbers inYes
Porting API (public beta) for US non-toll-free numbers, up to 1,000 per request, with an electronic letter of authorization.
- Texts from a number left with its voice carrier (hosted SMS)Yes
Hosted numbers through the Console. The Hosted Numbers API is not open to new customers.
- Takes in a 10DLC campaign registered elsewhereYes
Takes campaigns registered directly with TCR, and campaigns migrated from other providers without re-registration.
- Toll-free verification submitted by APIYes
Verification requests through the API, after an approved Trust Hub business profile.
Telnyx
What it is
A communications platform for voice, messaging and numbers that says it runs its own carrier network. Opt-out blocks live on the messaging profile, and both 10DLC and toll-free verification run through its API.
Who it fits
Teams that want to move texting in stages and keep a readable copy of every opt-out.
- Honours STOP and plain-language revocation automaticallyYes
Standard keywords block automatically. Optional AI detection treats a high-confidence plain-language opt-out ("please stop texting me") like STOP.
- HELP auto-replyYes
Help-keyword auto-replies per messaging profile, with per-country text.
- 10DLC brand and campaign registration in-productYes
Brand, vetting and campaign registration in the portal or through the 10DLC API.
- Records opt-in with a timestamp and the numberCheck with the vendor
- Consent records exportableCheck with the vendor
Opt-out blocks can be listed through the API; opt-in records stay in your own system.
- Opt-out list readable by APIYes
A paginated list of opt-out blocks, with optional redaction of the numbers.
- Ports your existing numbers inYes
Port-in orders through the API, from same-day for FastPort-eligible numbers to several weeks for international ports.
- Texts from a number left with its voice carrier (hosted SMS)Yes
Texts route through Telnyx while voice stays with the current provider.
- Takes in a 10DLC campaign registered elsewhereYes
Accepts campaigns shared with Telnyx through TCR. A brand registered through another provider may need importing or transferring through support.
- Toll-free verification submitted by APIYes
Verification requests through the API; new requests carry business registration number fields.
Plivo
What it is
A voice and messaging API platform that describes itself first as a voice AI platform. It publishes a Twilio-to-Plivo messaging guide and registers 10DLC brands and campaigns in its Console or by API.
Who it fits
Teams that want help moving 10DLC campaigns off Twilio and a line-by-line map of the API calls.
- Honours STOP and plain-language revocation automaticallyNo
STOP, END, QUIT, CANCEL, UNSUBSCRIBE, UNSUB and STOP ALL are honoured; Plivo lists "Hey, can you stop texting me?" as an invalid opt-out.
- HELP auto-replyYes
Automatic reply to HELP or INFO on long codes and toll-free numbers.
- 10DLC brand and campaign registration in-productYes
Profile, brand, campaign and number linking in the Console or through the 10DLC APIs.
- Records opt-in with a timestamp and the numberNo
Plivo tells senders to collect consent themselves and to be able to show the opt-in timestamp and number on audit.
- Consent records exportableCheck with the vendor
- Opt-out list readable by APICheck with the vendor
- Ports your existing numbers inYes
Port-in requests with a letter of authorization and a recent bill; the losing carrier takes 5 to 20 business days.
- Texts from a number left with its voice carrier (hosted SMS)Check with the vendor
- Takes in a 10DLC campaign registered elsewhereYes
Plivo's switch page offers an assisted 10DLC migration from Twilio. Campaigns registered directly with TCR import through a private-beta API.
- Toll-free verification submitted by APIYes
One toll-free number per request; terms-and-conditions and privacy-policy links are required fields.
Bandwidth
What it is
Messaging, voice and number APIs with campaign management for 10DLC. Its docs cover importing campaigns shared to Bandwidth through TCR, single and bulk port-ins, and a toolkit for moving Twilio voice apps.
Who it fits
Teams that register with TCR themselves, and voice teams moving Twilio apps with Bandwidth's toolkit.
- Honours STOP and plain-language revocation automaticallyNo
No opt-in or opt-out handling on long codes or short codes. Toll-free enforces STOP at the network layer, but honouring opt-outs and keeping lists is the customer's job.
- HELP auto-replyCheck with the vendor
Bandwidth's keyword article covers opt-in and opt-out only, and its toll-free network layer lists no HELP keyword.
- 10DLC brand and campaign registration in-productYes
Brands and campaigns through the Campaign Management API, once the account has the campaign products and user role enabled.
- Records opt-in with a timestamp and the numberNo
Maintaining opt-in and opt-out lists lies with the customer.
- Consent records exportableCheck with the vendor
- Opt-out list readable by APINo
Bandwidth keeps no opt-out list for long codes; the customer maintains it.
- Ports your existing numbers inYes
Single and bulk port-in orders through its porting APIs.
- Texts from a number left with its voice carrier (hosted SMS)Check with the vendor
- Takes in a 10DLC campaign registered elsewhereYes
Imports campaigns shared with Bandwidth through TCR, by API or in the Bandwidth App.
- Toll-free verification submitted by APIYes
An API to view and update the verification status of toll-free numbers.
Vonage
What it is
Communications APIs (Messages, SMS, Voice, Verify). Opt-Out Assist, switched on by request, manages STOP and HELP keywords, replies and block lists on 10DLC and short-code numbers.
Who it fits
Teams that want STOP and HELP handled by the provider, with keywords set alongside the 10DLC campaign.
- Honours STOP and plain-language revocation automaticallyCheck with the vendor
With Opt-Out Assist on, an opt-out keyword blocks the sender on the number that was texted. Plain-language replies are not described.
- HELP auto-replyYes
Opt-Out Assist sends the HELP reply; keywords and reply text are set through the dashboard or the 10DLC API.
- 10DLC brand and campaign registration in-productYes
Brand registration, vetting, campaigns and number linking through the 10DLC APIs.
- Records opt-in with a timestamp and the numberCheck with the vendor
- Consent records exportableCheck with the vendor
- Opt-out list readable by APICheck with the vendor
- Ports your existing numbers inYes
Self-service port of up to 999 US and Canadian local numbers from the dashboard.
- Texts from a number left with its voice carrier (hosted SMS)Check with the vendor
Ports that bring only voice or only SMS go to Vonage's numbers team by email.
- Takes in a 10DLC campaign registered elsewhereYes
Imports campaigns registered directly with TCR through the API; imported campaigns cannot be edited through Vonage.
- Toll-free verification submitted by APIYes
The TFN Registration API manages toll-free registrations programmatically.
Sinch
What it is
A global messaging, voice and numbers platform. Its Numbers API ports US numbers in or imports them for texting while they stay with their carrier, and its Conversation API keeps consent lists.
Who it fits
Teams texting on several channels that want one consent list, and numbers text-enabled without a full port.
- Honours STOP and plain-language revocation automaticallyNo
Keywords match exactly: "stop" triggers an opt-out, "stop now please" does not. In the blocking mode, blocks start within up to 10 minutes.
- HELP auto-replyCheck with the vendor
- 10DLC brand and campaign registration in-productYes
A 10DLC Brand and Campaign Registration API creates and submits brands and campaigns.
- Records opt-in with a timestamp and the numberCheck with the vendor
- Consent records exportableCheck with the vendor
- Opt-out list readable by APIYes
Public API endpoints query the consent lists.
- Ports your existing numbers inYes
Port-in orders through the Porting API, after a portability check.
- Texts from a number left with its voice carrier (hosted SMS)Yes
US and Canadian numbers are text-enabled for Sinch after an ownership check and a signed letter of authorization.
- Takes in a 10DLC campaign registered elsewhereCheck with the vendor
Sinch's 10DLC page describes campaigns registered directly with TCR that name Sinch as the provider.
- Toll-free verification submitted by APIYes
The Registration API creates, lists and reads toll-free number verifications.
How we read the claims
Questions teams ask
Can I keep my phone numbers when I leave Twilio?
Yes. US numbers can be ported to another provider, and every provider on this page takes port-in requests. Two details catch teams out. Voice and texting move as separate processes: Telnyx's docs note that a number's texting route follows its NetNumber ID, which the losing carrier has to release; if it does not, texts keep routing to the old carrier after calls have moved. And Plivo's porting guide says to keep the old account open until the port completes, with the name and address on the letter of authorization matching the old carrier's records.
Do I have to register for 10DLC again with a new provider?
Not always. Twilio's own docs describe campaigns approved through The Campaign Registry moving between messaging providers without re-registration, through a connectivity-partner migration, and recommend porting the numbers first. That page describes moves into Twilio; ask the new provider which path it uses for a campaign registered through Twilio. Telnyx's docs add that a business can hold only one brand per EIN, so a brand registered through another provider may need importing or transferring rather than creating again.
What happens to the people who texted STOP while we were on Twilio?
Their opt-out was a revocation sent to your business, not to Twilio, so it still binds you after the move. The FCC rule lets a person revoke "by using any reasonable method", and the revocation "must be honored within a reasonable time not to exceed ten business days from receipt" (47 CFR § 64.1200(a)(10)). Twilio's block list does not move with you, and Advanced Opt-Out does not report blocked numbers through the Console or the API, so build the list from your own STOP webhooks or exported message logs before you switch.
Is toll-free a way to keep texting while 10DLC moves?
Toll-free numbers sit outside the 10DLC system, as Twilio's 10DLC page notes, but they need their own verification before they can text. Plivo's docs state that since November 8, 2023, unverified toll-free numbers cannot send messages to users in the US and Canada. A toll-free number set up mid-move is a new sender to verify, not a shortcut.
Does switching providers make our texting TCPA-compliant?
No. The provider carries the messages; consent, calling hours, opt-outs and records stay your responsibility on every platform. The statutory damages for a TCPA violation are $500 per call or text, up to three times that ($1,500) if the court finds the violation willful or knowing.
Sources
- 47 CFR § 64.1200(a)(10)fetched 2026-10-22
- CTIA Messaging Principles and Best Practices (May 2023), 5.1.2.1fetched 2026-10-22
- 47 U.S.C. § 227(b)(3) (private right of action)fetched 2026-10-22
- Twilio: Bulk Export API overviewfetched 2026-10-22
- Telnyx: Messaging + portingfetched 2026-10-22
- Telnyx: 10DLC brand registrationfetched 2026-10-22
- Plivo: Migrate from Twilio (messaging)fetched 2026-10-22
- Bandwidth: Migration Toolkitfetched 2026-10-22
- Plivo: Migrate from Twilio (voice)fetched 2026-10-22
- Telnyx: developer docs overviewfetched 2026-10-22
- Twilio help centre: Twilio support for opt-out keywords (SMS STOP filtering)fetched 2026-10-22
- Twilio: Advanced Opt-Outfetched 2026-10-22
- Twilio: What is A2P 10DLC?fetched 2026-10-22
- Twilio: Consent Management APIfetched 2026-10-22
- Twilio: Porting API (port-in)fetched 2026-10-22
- Twilio: Hosted phone numbersfetched 2026-10-22
- Twilio: Externally registered campaignsfetched 2026-10-22
- Twilio: Toll-free verification using the APIfetched 2026-10-22
- Telnyx: Opt-In/Out Managementfetched 2026-10-22
- Telnyx: 10DLC quickstartfetched 2026-10-22
- Telnyx API: List opt-outsfetched 2026-10-22
- Telnyx: Port-in ordersfetched 2026-10-22
- Telnyx: Hosted SMSfetched 2026-10-22
- Telnyx API: Accept Shared Campaignfetched 2026-10-22
- Telnyx: Toll-Free Verificationfetched 2026-10-22
- Plivo: DND Servicefetched 2026-10-22
- Plivo: 10DLC overviewfetched 2026-10-22
- Plivo: US messaging best practicesfetched 2026-10-22
- Plivo: Number portingfetched 2026-10-22
- Plivo: Switch from Twiliofetched 2026-10-22
- Plivo: Toll-free verification APIfetched 2026-10-22
- Bandwidth: Does Bandwidth handle opt-in and opt-out keywords?fetched 2026-10-22
- Bandwidth: CSP Campaign APIfetched 2026-10-22
- Bandwidth: Port-ins APIfetched 2026-10-22
- Bandwidth: Campaign Imports FAQsfetched 2026-10-22
- Bandwidth: Toll-Free Verification APIfetched 2026-10-22
- Vonage: Opt-Out Assist technical detailsfetched 2026-10-22
- Vonage: 10DLC overviewfetched 2026-10-22
- Vonage API support: Porting North American numbersfetched 2026-10-22
- Vonage API support: 10DLC reseller vs CSPfetched 2026-10-22
- Vonage: TFN Registration APIfetched 2026-10-22
- Sinch: Consent managementfetched 2026-10-22
- Sinch: 10DLC Brand and Campaign Registration APIfetched 2026-10-22
- Sinch: Porting APIfetched 2026-10-22
- Sinch: Imported numbersfetched 2026-10-22
- Sinch: TFN Verification APIfetched 2026-10-22