Python SMS API Integration
Complete Python code examples for integrating with the SecureSMSC SMS API using requests.
Fast Integration
Get started in minutes with simple REST API calls
Global Reach
Send SMS to 200+ countries worldwide
Secure
Enterprise-grade SSL/TLS encryption
Reliable
99.9% uptime with delivery tracking
Quick Start: Get your API key from the dashboard to begin integration.
Installation
Install the required dependencies:
Terminal
pip install requests
Send Single SMS
Python
import requests
API_KEY = 'YOUR_API_KEY'
API_URL = 'https://whitelabled.securesmsc.com/api/v2/sms/send'
def send_sms(recipient, message):
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
data = {
'sender_id': 'SENDER',
'recipient': recipient,
'message': message,
'route': 'transactional'
}
response = requests.post(API_URL, json=data, headers=headers)
if response.status_code == 200:
result = response.json()
print(f"Success: {result['message']}")
return result
else:
print(f"Error: {response.text}")
return None
# Usage
send_sms('1234567890', 'Hello from Python!')
Send Bulk SMS
Python
def send_bulk_sms(recipients, message):
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
data = {
'sender_id': 'SENDER',
'recipients': recipients,
'message': message,
'route': 'promotional'
}
response = requests.post(
'https://whitelabled.securesmsc.com/api/v2/sms/send-bulk',
json=data,
headers=headers
)
return response.json()
# Usage
send_bulk_sms(['1234567890', '0987654321'], 'Bulk message!')
Check SMS Status
Python
def check_status(message_id):
headers = {'Authorization': f'Bearer {API_KEY}'}
response = requests.get(
f'https://whitelabled.securesmsc.com/api/v2/sms/status/{message_id}',
headers=headers
)
result = response.json()
print(f"Status: {result['data']['status']}")
return result
Check Balance
Python
def get_balance():
headers = {'Authorization': f'Bearer {API_KEY}'}
response = requests.get(
'https://whitelabled.securesmsc.com/api/v2/balance',
headers=headers
)
result = response.json()
print(f"Balance: {result['data']['balance']} credits")
return result
Error Handling - Django/Flask
Python - Flask
from flask import Flask, request, jsonify
import requests
import time
import os
app = Flask(__name__)
class SMSClient:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = 'https://whitelabled.securesmsc.com/api/v2'
self.headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
def send(self, recipient, message, retries=3):
for attempt in range(retries):
try:
response = requests.post(
f'{self.base_url}/sms/send',
json={
'sender_id': 'SENDER',
'recipient': recipient,
'message': message,
'route': 'transactional'
},
headers=self.headers,
timeout=10
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
if attempt == retries - 1:
raise
time.sleep(2 ** attempt)
@app.route('/send-sms', methods=['POST'])
def send_sms_endpoint():
client = SMSClient(os.environ.get('SMS_API_KEY'))
data = request.get_json()
try:
result = client.send(data['recipient'], data['message'])
return jsonify(result)
except Exception as e:
return jsonify({'error': str(e)}), 500
if __name__ == '__main__':
app.run(debug=True)