Twilio’s Programmable SMS API 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.
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:
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>
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.
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.
- 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.
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!