Messaging
Integrate powerful, programmable, high-throughput SMS and MMS with SignalWire APIs, SDKs, and no-code application builders
Programmable Messaging is deeply integrated in the SignalWire platform. Our robust APIs, SDKs, and application builders are backed by first-class support and a team dedicated to compliance and class-leading delivery rates across all carriers and locations.
SignalWire is your Messaging partner from proof-of-concept to deployment. Get up and running quickly with our Getting Started guides and get registration right the first time with our comprehensive Guide to The Campaign Registry (TCR).
Try it out
Send an SMS message
SWML
RELAY Realtime SDK (Server)
REST API
Send an MMS message
SWML
RELAY Realtime SDK (Server)
REST API
Respond to an incoming message
RELAY Realtime SDK (Server)
Forward an incoming message
RELAY Realtime SDK (Server)
Choose an API
SignalWire’s many API offerings make it quick and easy to send and receive SMS and MMS within an application through a variety of phone number types. There are a few different ways to utilize these services, so we encourage you to browse the documentation for our APIs.
Looking for Chat or PubSub?
SignalWire’s Messaging APIs are tailored for SMS and MMS over the PSTN. For non-PSTN applications, check out our Chat APIs.
Reference
How message segments are measured and priced.
Supported media types for MMS.
Frequently asked questions
What are the essential steps I need to take to start sending messages?
- Create a Brand.
- Register a Campaign.
- Assign phone numbers to the campaign.
Full details are explained in our Registration guide.
Why can't I send or receive messages on my new 10DLC number?
As of December 2025, newly purchased US 10DLC numbers do not have messaging capabilities enabled by default.
To enable messaging:
- Outbound/mixed use: Assign your number to an approved TCR campaign. Messaging is automatically enabled once the number is assigned.
- Inbound-only use: Contact Support to request inbound messaging enablement.
- Testing only: Your first purchased number is automatically enabled for Platform Free Trial when paired with a verified mobile number.
What is 10DLC?
10DLC is a type of phone number. Short for 10 Digit Local Code, it is a type of phone number that includes an area code followed by 7 additional digits indicating a specific channel. For example, +12345678910, where the “+1” indicates the country, the “234” indicates the area code, and the remaining digits indicate the channel.
What is the difference between 10DLC and Toll-free phone numbers?
Toll-free numbers, although slightly more expensive, allow for increased throughput out-of-the-box. They also have a registration process tied to them, however once complete, have a higher deliverability rating than traditional 10DLC numbers.
What is The Campaign Registry?
The Campaign Registry is a platform that was created in partnership with a company called Kaleyra and several Mobile Network Operators (MNOs). The platform itself acts as a source of information about every 10DLC number being used for outbound SMS through A2P routes in an effort to discourage spam in the industry. In short, any and all 10DLC numbers that are to be used for SMS in SignalWire’s platform must be registered through the Campaign Registry. You can find more information about the Campaign Registry in-depth here.
Can we programmatically create campaigns and brands?
Yes! You can do this through the SignalWire REST APIs. Check out the documentation.
How many messages can I send out?
The number of messages you can send out depends on a few different factors. If you are using a toll-free number, there is no real limit outside of throughput in regards to the amount of messages you could feasibly send. With 10DLC, it depends on your registered use case with the Campaign Registry. AT&T provides a limit on the amount of texts per minute you can send to an end-user at the campaign level whereas T-Mobile limits the overall amount of SMS per day you can send to and end user at the brand level. For more information around this, consult our guide to The Campaign Registry.
What content is not allowed?
There is some content that is explicitly disallowed from being sent via SMS/MMS with SignalWire. You can see this list in full detail here.
What are Carrier Passthrough Fees?
Carrier Passthrough Fees, also known as Network Access Fees (NAFs), are additional fees that Mobile Network Operators (MNOs), or Carriers, charge on a per-SMS/MMS basis for the ability of that SMS/MMS to be passed-through their network.
Are all the Carrier Passthrough Fees the same?
No. Every carrier (MNO) assesses their own rates for inbound and outbound SMS.
How do I get higher throughput?
For verified toll-free numbers, you can contact sales at sales@signalwire.com to increase the throughput of those numbers up to 100 MPS for an additional price.
Can I just send SMS/MMS to a specific carrier like Verizon?
SignalWire does not provide a way to explicitly send to Verizon end-users or end-users of any other MNO.
Do I register toll-free SMS/MMS traffic?
You can verify toll-free traffic by opening a support ticket with us. Our team will follow up with the forms and information we need from you within that support ticket.
Does SignalWire manage opt-outs?
No. Customers are responsible for handling inbound stop requests and removing those customers from subscriber lists. Messages should not go out to these numbers again unless they have opted back in via an Unstop request.
What is considered a high opt-out rate?
Carriers consider anything more than 5% opt-out to be a high rate for consumers who have opted in and therefore should want to receive these messages.
Can I turn off inbound SMS?
Not currently. We have no way to turn off inbound SMS at this time. You can leave your numbers unset up for messaging and nothing will happen when inbound messages come into the numbers though!
Do you have a messaging queue?
We do not have a “scheduled” queue, but messages that exceed your throughput will be entered into your Space’s backlog and sent when possible. Read about the backlog and queue system here! The default message backlog is 10,000 for the entire Space. These limits can be increased based on the use case and individual approval following an account verification request.
Am I billed once a message is in the queue?
Messages are charged when they are ‘Sent’ successfully - meaning they leave our network without issue. They are charged regardless of whether or not they deliver after they have left our network. You are not charged while your messages are queued or ‘failed’ (failed meaning they never left our network).
Where can I find information on specific error codes?
Visit our error code explanation page for details.