Snapi SMS docs: FAQs

Read the most frequently asked questions on Snapi SMS.


When formatting your phone number to use with our API, it's best to use the E.164 format whenever possible. This format can be broken down into several parts:

  • The prefix: "+"
  • A 1-3 digit country code
  • A subscriber (phone) number

So, for example, when using the Snapi SMS API to send messages, let's look at three different numbers and how they are broken down.

The numbers are: +447878969785, +12025550148 and +611900654321

Prefix Country code Phone number
+ 44 (UK) 7878 969785
+ 1 (US) 202 555 0148
+ 61 (AU) 1900 654 321

One common problem that you might encounter when attempting to send a message, is to do with the "+" symbol. You won't be able to directly include this in the POST request as the plus sign will be stripped out of the request, or even converted to whitespace, which isn't allowed.

You must encode the "+" symbol when sending your E.164 phone number in the request. Luckily, most common libraries will automatically handle encoding for you, but if not, you'll need to handle this yourself.

When testing our API, through developer tools such as Postman, you could consider replacing the "+" symbol with %2B for testing purposes.

Enable test mode

In order to correctly debug persistent/on-going formatting errors without deducting credits from your API key's balance, we highly recommend enabling test mode for your API key when sending a message.

  • Is the phone number a fake number? We'll only be able to parse real numbers in the request.
Other things to check:
  • Is the phone number a fake number? We'll only be able to parse real numbers in the request.
  • Did you include spaces in the phone number? We don't support spaces or other special characters.
  • Have you tried validating your number prior to sending it?
Validate number:

The phone number you specify will be validated against Google's libphonenumber library.

If you're continuing to have validation errors, please type the number below that you're trying to use, click on "validate" and check the status of the isValidNumber() result under "Validation Results". This must be true.

If you're continuing to have problems sending - feel free to reach out to us via our support section.

Snapi SMS supports sending text messages globally. To do so, you'll need to use the E.164 format when sending text messages.

For example, to message someone in Australia, you'll need to use the international format, this would look like: +611900654321

We aim to provide a reliable and fast SMS API for everyone. For this reason, you shouldn't send more than 1-2 text messages per second. If you exceed this, you may be temporarily rate limited, but this won't affect your account's health.

If you've had your account for less than 72 hours then we automatically empose rate limiting for sending messages to 10 requests per minute. After this you shouldn't send more than 1-2 text messages per second.

Snapi SMS uses a large pool of phone numbers to send text messages from. It's not possible to dynamically set the phone number that a message will be sent from, however, we aim to utilise a single phone number for your recipients to improve deliverability.

If you'd like to send messages from a specific number for a large volume of SMS messages, please reach out to us via our support page.

The maximum length of a single SMS that we support is 160 characters.

If you're sending long text messages, there's a chance that it will be sent as multiple text messages. This is due to how SMS segments work. Many factors can change how a message is sent, for example, if including non-GSM characters (e.g: unicode) then your message may be limited to fewer characters than 160, such as 70 characters.

If multiple text messages are sent, you'll be charged additional credits per the number of message segments that are sent. You can try to avoid this behaviour by limiting the number of characters sent in your message and the type of characters used.

Please use this tool to see how many SMS segements will be used prior to sending SMS emssages with the Snapi SMS API.

Yes. Your credit balance will still be deducted if a message is not marked as "delivered", marked as "sending" or marked as "sent".

There are many factors for this, and as descibed in our Checking SMS message delivery status section, some carriers do not report whether an SMS has been delivered - we do not have any control over this.

Furthermore, you should try to make sure that the phone number you're sending an SMS to is aware of Snapi SMS, other reasons include that it's just a bad number.

If you're continuing to have problems with deliverbility and have evidence to suggest that messages should be delivered but aren't, feel free to reach out to us via our support section and we'll investigate and refund if necessary.

Regulations require us to automatically include opt-out language when initially contacting a phone number that hasn't been contacted before.

Our platform