Sending SMS Messages with Python: A Step-by-Step Guide

Back to all posts
Sending SMS Messages with Python: A Step-by-Step Guide

Sending SMS messages to recipients all over the world is straightforward with GatewayAPI’s robust service. If you’re looking to integrate GatewayAPI SMS services into your application by using Python code, you’re at the right place! 

Let’s dive into the process step-by-step.

Getting started

GatewayAPI dashboard:
After logging into, you’ll be presented with a dashboard. This dashboard provides a range of code examples in various languages, ensuring that you can integrate with the API no matter what your preferred language might be. Here we naturally use the Python language example, which is also included with your unique credentials.

Dependencies installation:
Before diving into the code, you’ll need to ensure your Python environment is set up correctly. The key dependency you need is the requests library. To install it, open your terminal or command prompt and run the following command:

Setting up your editor:
After installing the necessary dependencies, copy the provided code example from your dashboard into your favorite code editor.

Customizing the message

Input the phone number:
Within the code, locate the placeholder to input the recipient’s phone number.

Change the Sender ID:
Modify the sender’s name from the default “ExampleSMS” to “GatewayAPI” (or any other preferred sender name).

Modify the message content:
The default message in the example says “Hello World.” You can change this to a more personalized message like “Hello Oliver, how are you?” or any other text you’d like.

Remember to change the token:
If you have copied the code below instead of the one in your dashboard, remember to replace the token in the example with your unique token. This can be found in your dashboard under
API → API Keys.

The code should now look like this:

Sending the SMS

Run the script:
Once you’ve made all the necessary changes, save your script and head back to your terminal. Execute your Python script, and if everything is set up correctly, the message will be sent to the specified phone number.

Message confirmation:
You’ll be able to see a message pop up on the recipient’s phone. In the tutorial example, the message “Hello Oliver, how are you?” from GatewayAPI was received.

Typical errors

  • Using wrong credentials and e.g. mixing up the key with the token. 
  • Missing Dependencies: Forgetting to install required libraries or modules, leading to ModuleNotFoundError or ImportError.

Python – the holy grail of programming?

Three fun facts about the Python coding language:

  • The name “Python” doesn’t come from the snake but from the British comedy group Monty Python. Guido van Rossum, the creator of Python, was a fan of “Monty Python’s Flying Circus,” and wanted a name that was short, unique and slightly mysterious.
  • Python has its own set of guiding principles, which you can view by typing import this into a Python interpreter. This will show you “The Zen of Python,” a collection of 19 aphorisms that capture the philosophy of the Python language
  • Python is one of the fastest-growing major programming languages in the world. Its simplicity and versatility, especially in data science and web development, have led to its widespread adoption in various industries.

Concluding remarks

As a final note, here are key considerations ensuring that SMS broadcasts goes smoothly:

  • Keep your Sender ID within 11 alphanumerical characters or 15 numerical digits. Special characters may cause issues or overwrite your ID.
  • If incorporating links, initiate the whitelisting process ahead of time. Approval typically takes under a business day.
  • Ensure your SMS or PHP file encoding is set to UTF-8. This is critical for seamless operation, especially for Windows users who may encounter alternate default settings.


This overview touches on the essentials of SMS messaging via GatewayAPI. For an in-depth guide, consult our documentation.

For a video step-by-step walkthrough, check out our YouTube video, where my colleague demonstrates Python-based messaging, mirroring the guidance in this blog post.

Happy coding!


About the author

Oliver focuses on integrations and is the man to go to if you need an integration with your preferred system. When he is not working on GatewayAPI, he is an avid student of AI and Deep Learning. Oliver generally just enjoys working with code, whether it’s AI or something more down-to-earth, such as GUI or backend software.