SMS - Tutorial: Send an SMS in Python using the Telesign SDK

This tutorial teaches you how to use the Telesign Python SDK to send an SMS. The complete sample code for this tutorial is available on GitHub here.Β 

Before you begin

Make sure you have the following before you start:

  • Authentication credentials: Your Customer ID and API Key. If you need help finding these items, go to the support article How do I find my Customer ID and API Key.
  • Testing device: A mobile phone on which you can receive SMS.
  • Telesign Self-service Python SDK: Install the Self-service Python SDK. Source code and installation instructions are on GitHub.



This tutorial uses Python 3.8.1. Please modify accordingly if you are using a different version of Python.

This tutorial use a Mac, please modify accordingly if you are using a different system.

Set up your project

  1. Create a new directory for your project and then enter it. If you plan to create multiple Python projects that use Telesign, we recommend that you group them within a telesign_integrations directory.

    cd telesign_integrations
    mkdir sms
    cd sms
  2. Create a new file called and open it in your editor:


Create code to send an SMS

  1. Import your dependencies, including the Telesign SDK.

    from telesign.messaging import MessagingClient
    import os
  2. Define variables to store your authentication credentials. For testing purposes, you can just overwrite the second parameter of each getenv function call below with your credentials or use environment variables.

    customer_id = os.getenv('CUSTOMER_ID', 'FFFFFFFF-EEEE-DDDD-1234-AB1234567890')
    api_key = os.getenv('API_KEY', 'ABC12345yusumoN6BYsBVkh+yRJ5czgsnCehZaOYldPJdmFh6NeX8kunZ2zU1YWaUw/0wV6xfw==')
  3. Define a variable to hold the recipient's phone number. For this tutorial, hardcode your testing device's phone number or pull it from an environment variable.

    phone_number = os.getenv('PHONE_NUMBER', '11234567890')
  4. Define variables for the message text and the Telesign abbreviation describing the message type. For purposes of this tutorial, use the "ARN" abbreviation (alerts, reminders, and notifications).

    message = "Your package has shipped! Follow your delivery at"
    message_type = "ARN"
  5. Instantiate a Telesign messaging client object with your authentication credentials.

    messaging = MessagingClient(customer_id, api_key)
  6. Make the request and capture the response.

    response = messaging.message(phone_number, message, message_type)
  7. Display the response body in the console for debugging purposes. In your production code, you would likely remove this.


Sample code

The complete sample code for this tutorial can be found on GitHub.