It's best to use E.164 format whenever possible. An E.164 number has three parts:
- The prefix "+"
- A 1-3 digit country code
- A subscriber number
For example, the numbers +5511912345678, +447712345678 and +15558838530 can be broken down as follows:
If you're texting in the U.S. or Canada, you can just send a 10 digit phone number with area code instead of E.164 format. We also parse phone numbers from string inputs like
One common pitfall is that if you're sending a "+" sign in POST data, it must be URL encoded. Otherwise, the plus sign will be stripped or converted to a space when it's sent to the server.
The process for encoding a URL will vary based on language and library support. Most HTTP libraries will handle encoding for you. If you need help, please contact us.
We support SMS destinations for 221 countries around the world. Our services are most commonly used in the U.S., Canada, European countries (UK, France, Germany, Spain, etc), South Korea, Taiwan, Brazil, India, and Mexico.
You can always try sending a text to your foreign number using the free
textbeltkey to determine if it's already supported. Or, email us and let us know what country you're in - we'd be happy to help.
By default, texts are sent in the U.S. (country code +1). To text internationally, append the country code to your phone number.
Use the E.164 format. For example, to text someone in France (country code +33), set the number param to +33509758351.
Textbelt SMS are sent from a very large shared pool of phone numbers. Whenever possible, our service makes sure that you are represented to your recipients as a single unique phone number.
This allows us to keep the API and service very straightforward. If you are doing a large volume of SMS, you can request a dedicated phone number or pool of phone numbers at no additional charge.
No. You should send multiple HTTP requests in order to send multiple texts.
You shouldn't send more than 1-2 SMS per second. There isn't strict rate limiting and the API won't cut you off, but you're advised to not exceed this limit as it could impact delivery on the mobile carrier side.
Texts up to a certain length (as of writing, 256 bytes) are automatically broken into segmented texts. Text segment length can vary based on carrier but is usually 120. If a long text is broken up into segments, it is delivered to the recipient as multiple texts. You will be charged for the number of individual SMS messages sent to the carrier.
Textbelt quota corresponds to the number of SMS segments that you send. If you send a long message, it will be broken into multiple SMS.
The maximum size of a text is 140 bytes. The most efficient encoding for SMS is GSM-7, which is a limited character set that uses 7 bits for each character. This means you can send 140*8/7 = 160 characters. If you use non-GSM characters (eg. unicode) your message may be limited to 70 characters, because unicode characters are 2 bytes each.
If you're using more SMS quota than you expected and you don't think your message is unicode encoded, closely inspect your message for sneaky unicode characters such as unicode whitespace, apostrophes, and quotation marks.
Yes, we can't retroactively refund texts that aren't successfully delivered. There are many explanations for a text not being delivered, but the most common explanation is that it's a bad number. Please make sure you know who you're texting!
If you are consistently having trouble sending texts to a number you know is valid, please reach out and we'll investigate and refund if necessary.
No, you may not offer emergency services through Textbelt, or any service that impacts life safety. Textbelt is not reliable enough for these purposes and cannot accept this liability.
Textbelt Open Source is a free project that uses email-to-SMS gateways. This allows people to text for free with medium reliability and more carrier restrictions.
Textbelt.com is a service that costs money because we pay carriers around the world to accept and deliver SMS. It does not use potentially unreliable email-to-SMS gateways.
Originally, Textbelt was just the open source project. Carriers began blocking the publicly hosted open source version because it was too popular. We recognized the need for a more reliable service and began working with carriers to ensure text delivery. This eventually led to the paid Textbelt.com service.
If you purchased quota before April 14, 2017, it lasts forever. If you purchase quota after that date, it will expire if 365 days go by without any usage on your key. If you send just one text every year, your quota will never expire.
We added this policy because everlasting, seemingly abandoned quotas are an outstanding liability. Other services don't face this problem because they keep a cash balance, but we like the simplicity of having one text = one quota. We avoid this uncertainty by capping quotas to a year of inactivity, which shouldn't be a problem for active users of the service.
The recipients of your texts should have opted in to receiving your messages. Textbelt is not for bulk advertising or spam.
Any messages that break the law in the United States (eg. scams and fraud) or any sort of harassment are prohibited.
Due to abuse, sending text messages containing URLs requires whitelist permissions. These requests are processed extremely quickly. Send an email to support to get URL sending enabled on your account, or go to https://textbelt.com/whitelist?key=yourkey.
Under no circumstances are your phone numbers shared or sold. Phone numbers and SMS contents of new accounts may appear in our logs which are temporarily stored in order to identify spam/abuse, debug potential SMS delivery issues, and allow you to look up delivery status. Access to these records is permitted on an as-needed basis. All access is monitored and logged. After 60 days, records are wiped permanently.
If you decide that the Textbelt service is not satisfactory within 30 days of your original purchase, we'll give you a refund (prorated by the texts that you've sent). Email us and let us know the email address you signed up with, key, date of purchase, purchase amount, and why you'd like a refund.
You can force SSLv2 by using the --sslv2 flag with curl on most systems.
You can also just POST to http://textbelt.com/text, as opposed to https://. This will solve the problem, but traffic will not be encrypted (you might be ok with this for hobby projects because SMS is not secure to begin with).
No, because of too much spam/abuse coming through Tor.
Yes. Here's a screenshot of a Postman configuration that works: