SMS with Twilio Programmable Messaging helps you add robust messaging capabilities to your applications.
Using this REST API, you can:
- Send and receive SMS messages
- Track the delivery of sent messages
- Schedule SMS messages to send at a later time
- Create a Message resource with Shortened Link and retrieve and modify message history.
Want more general information on Twilio and SMS? See our SMS with Twilio Programmable Messaging overview and the SMS API pricing page.
All URLs referenced in the API documentation have the following base:
The API is served over HTTPS. To ensure data privacy, unencrypted HTTP is not supported.
You can control your connectivity into Twilio’s platform by including your specific edge location in the subdomain. This will allow you to bring Twilio’s public or private network connectivity closer to your applications for improved performance.
For instance, customers with infrastructure in Germany can make use of the
frankfurt edge location by using this base URL:
If you have a private connection through Interconnect in Germany, you can make use of the
frankfurt-ix edge location by using this base URL:
SMS API authentication
HTTP requests to the API are protected with HTTP Basic authentication. To learn more about how Twilio handles authentication, please refer to our security documentation.
In short, you will use your Twilio Account SID as the username and your Auth Token as the password for HTTP Basic authentication with Twilio.
curl -G https://api.twilio.com/2010-04-01/Accounts \ -u <YOUR_ACCOUNT_SID>:<YOUR_AUTH_TOKEN>
You can find your Account SID and Auth Token in the Console.
To learn more about authentication and interaction with the Twilio REST API, check out our documentation for requests to the API and Twilio’s response.
Send messages with the SMS API
Twilio will now monitor messages to prevent content violating our Acceptable Use Policy (AUP). This helps to ensure and support Twilio Messaging as a trustworthy, high engagement channel and will not slow down the delivery of messages.
If a message you send has violated the AUP, it will be returned and you will receive an error code which identifies the necessary changes you need to make sending it again.
Twilio’s SMS API helps you send and manage messages programmatically:
- To send an outbound SMS, WhatsApp, or Channels message with the API, POST to the Message resource.
- You’ll also use the Message resource to fetch messages and list messages associated with your account.
You can also leverage the REST API to query metadata and manage your messages:
- Delete or redact content from an existing message.
- Track message feedback.
- Fetch, update, or delete media associated with a message.
- Fetch and update the short codes tied to your account.
- Manage your account’s messaging services.
You’ll be able to find all relevant SMS API resources in the API Reference folder in the navigation bar on the left side of this page.
Leverage helper libraries to send and receive messages
Send and receive messages directly from your web application with the SMS API. For step-by-step instructions on how to do this with one of our supported helper libraries, check out the SMS quickstarts for:
Not using one of the supported helper libraries? Check out these additional articles that teach you how to send an SMS with:
Missing a language you like? If you follow the conventions in our
curl code snippets throughout the documentation, you can translate the API call to your programming language of choice.
Advanced applications built on Twilio’s SMS API
- Learn how to track the delivery status of messages sent with the Twilio API.
- Send an SMS message during a phone call with Python and Flask.
- Build SMS-powered appointment reminders.
- Send ETA notifications to keep your users up to date.
- Browse all SMS tutorials.
Help integrating the SMS API
Twilio’s SMS API is a flexible building block which can take you from sending your first text message all the way to sending and receiving millions.
While we hope this page gives a good overview of what you can do with the API, we’re only scratching the surface. For help troubleshooting the API, see our SMS troubleshooting tips and learn how to use Twilio’s debugging tools.
If you need any help integrating the SMS API or want to talk best practices, please get in touch. You can give us feedback using the survey on this page, speaking with support, talking to sales, or reaching out on Twitter.
We can’t wait to see what you build!
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.