Get started

In order to use the SMS API, you need the following:

Format

The basic API request to send an SMS contains three key:value pairs which are to, from and message.

The to parameter should be the E.164 formatted number of the recipient.
Example: +46766861004.

The from parameter should be either an E.164 number or a string. That string is often called "Text sender ID" or "alphanumeric sender ID".
Example: +46766861004, ElkCo

Fun fact about the message string - you can even send emojis!
Example: How was this interview, 👌🏽 or 👎🏽 ?


    

Message splitting

Messages that don't fit in a single SMS part will be split into multiple parts automatically by the API. The recipient will still see this as a single, coherent, SMS, so you don't really need to worry about it. More information available here.

Delivery reports

You can specify a webhook URL that we'll post to whenever the delivery status of your message changes. This is done by setting the whendelivered parameter in the API request.


    

This will result in a x-www-form-urlencoded HTTP POST request to the given URL in the following format, whenever the delivery status of your message changes.

Parameter Type Description
id string The unique id of the message in our systems.
status string Either ”delivered” or ”failed”.
delivered string The delivery time in UTC. Only included if status is set to delivered.

For full details, see the API reference.

Pricing

We bill you (and are billed ourselves by the operators) per SMS part sent. Messages that don't fit in a single part will be split up into several parts and you'll be billed for each part. Our engineers have written a comprehensive Knowledge Base article that covers all the details, but a good rule of thumb is:

This is just a rough estimate — the actual number of characters that fit may be more or less than that (it's an encoding thing). You can use our GSM analyser to get a visual representation of how differrent types of characters affects the length of your message.

Up-to-date prices can be found on our pricing page. We offer volume discounts to customers that send more than 50 000 SMS / month.

Coverage

You can use 46elks to send SMS to almost anywhere in the world. The flags below represent all 219 countries and provinces we currently have coverage in. Our numbers team is really good so don't hesitate to reach out to support if you have special needs — if there's a telco out there, they'll find a way to reach it.

🇦🇫 🇦🇱 🇩🇿 🇦🇩 🇦🇴 🇦🇮 🇦🇬 🇦🇷 🇦🇲 🇦🇼 🇦🇺 🇦🇹 🇦🇿 🇧🇸 🇧🇭 🇧🇩 🇧🇧 🇧🇾 🇧🇪 🇧🇿 🇧🇯 🇧🇲 🇧🇹 🇧🇴 🇧🇶 🇧🇦 🇧🇼 🇧🇻 🇧🇷 🇮🇴 🇧🇳 🇧🇬 🇧🇫 🇧🇮 🇰🇭 🇨🇲 🇨🇦 🇨🇻 🇰🇾 🇨🇫 🇹🇩 🇨🇱 🇨🇳 🇨🇽 🇨🇨 🇨🇴 🇰🇲 🇨🇩 🇨🇩 🇨🇰 🇨🇷 🇭🇷 🇨🇺 🇨🇾 🇨🇿 🇨🇮 🇩🇰 🇩🇯 🇩🇲 🇩🇴 🇪🇨 🇪🇬 🇸🇻 🇬🇶 🇪🇪 🇪🇹 🇫🇰 🇫🇴 🇫🇯 🇫🇮 🇫🇷 🇬🇫 🇹🇫 🇬🇦 🇬🇲 🇬🇪 🇩🇪 🇬🇭 🇬🇮 🇬🇷 🇬🇱 🇬🇩 🇬🇵 🇬🇺 🇬🇹 🇬🇬 🇬🇳 🇬🇼 🇬🇾 🇭🇹 🇭🇲 🇭🇳 🇭🇰 🇭🇺 🇮🇸 🇮🇳 🇮🇩 🇮🇷 🇮🇶 🇮🇪 🇮🇲 🇮🇱 🇮🇹 🇯🇲 🇯🇵 🇯🇪 🇯🇴 🇰🇿 🇰🇪 🇰🇼 🇰🇬 🇱🇦 🇱🇻 🇱🇧 🇱🇸 🇱🇷 🇱🇾 🇱🇮 🇱🇹 🇱🇺 🇲🇴 🇲🇰 🇲🇬 🇲🇼 🇲🇾 🇲🇻 🇲🇱 🇲🇹 🇲🇶 🇲🇷 🇲🇺 🇾🇹 🇲🇽 🇲🇩 🇲🇳 🇲🇪 🇲🇸 🇲🇦 🇲🇿 🇳🇦 🇳🇵 🇳🇱 🇳🇿 🇳🇮 🇳🇪 🇳🇬 🇳🇴 🇴🇲 🇵🇰 🇵🇸 🇵🇦 🇵🇬 🇵🇾 🇵🇭 🇵🇱 🇵🇹 🇵🇷 🇶🇦 🇷🇴 🇷🇺 🇷🇼 🇷🇪 🇧🇱 🇰🇳 🇱🇨 🇻🇨 🇼🇸 🇸🇲 🇸🇹 🇸🇦 🇸🇳 🇷🇸 🇸🇨 🇸🇱 🇸🇬 🇸🇰 🇸🇮 🇸🇧 🇸🇴 🇿🇦 🇬🇸 🇰🇷 🇸🇸 🇪🇸 🇱🇰 🇸🇩 🇸🇷 🇸🇯 🇸🇿 🇸🇪 🇨🇭 🇸🇾 🇹🇼 🇹🇯 🇹🇿 🇹🇭 🇹🇱 🇹🇬 🇹🇴 🇹🇹 🇹🇳 🇹🇷 🇹🇲 🇹🇨 🇺🇬 🇺🇦 🇦🇪 🇬🇧 🇺🇸 🇺🇾 🇺🇿 🇻🇪 🇻🇳 🇻🇬 🇻🇮 🇾🇪 🇿🇲 🇿🇼 🇦🇽

Throughput

Default maximum throughput is 100 SMS per minute per account. Additional messages will be queued and sent in-order. Contact support if you require additional throughput.

More info

Here are tutorials for specific programming languages:

Get in touch with our support and we'll help you out.