In order to use the MMS API, you need the following.

You can allocate an MMS-enabled phone number in the dashboard after logging in.

Basic request format

Sending an MMS is done with a simple POST request to the API. The request must contain the parameters from, to, and at least one of the parameters message or image.

import requests
    data = {
        "from": "+46766861217",
        "to": "+46766861004",
        "message": "It's cold outside, bring a sweater!",
        "image": ""

The from parameter should an MMS-enabled 46elks phone number, in E.164 format. The to parameter should an the recipient's phone number in E.164 format. message is an arbitrary text that will be displayed in the MMS.

The image parameter should be either:

Image formats

PNG and JPG image formats are supported by the API. There is no hard limit on the size of an image but the total payload size of the MMS (text + images or other media) cannot exceed 320kB.

Multiple images

You can send multiple images in the same MMS by adding additional image2, image3, ..., imageN parameters. These parameters should be formatted in the same way as the image parameter.


MMS uses completely different protocols than SMS and some features of SMS are not part of the MMS standard, for example delivery reports, alphanumeric senders and multipart messages.


MMS are billed at a flat rate per message, regardless of the payload size. Up-to-date prices can be found on our pricing page.


MMS support is currently limited to 🇸🇪 Sweden but we're looking for beta-testers for other countries. If you're not in Sweden and are interested in trying out MMS, get in touch.


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.

Additional features

If you have a good use case for sending videos, audio files, documents or GPS data, get in touch with support.

Wave that adds styling to the bottom of the 46elks website