Start your coding journey with our beginner-friendly API. Send your first message with just 5 lines of code!
# Send your first SMS
import requests
api_key = "YOUR_API_KEY"
phone = "+639123456789"
message = "Hello from my first API!"
response = requests.post(
"https://sms.skyio.site/api/sms/send",
headers={"Authorization": f"Bearer {api_key}"},
json={"phone": phone, "message": message}
)
print(response.json())
Everything you need for reliable SMS messaging
Send text messages quickly and reliably to recipients worldwide with our high-performance infrastructure.
Easy-to-use RESTful API with comprehensive documentation and examples in multiple programming languages.
Choose from Standard (5,000 SMS/day) or Premium (10,000 SMS/day) plans to fit your messaging needs.
Advanced API key management with IP restrictions, rate limiting, and two-factor authentication.
Detailed logs, analytics dashboards, and customizable reports to track message delivery and performance.
Automated system for alerts about message status, failed SMS, and system updates.
From signup to sending your first message in minutes
# Simple SMS integration example
import requests
from datetime import datetime
class SMSGateway:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = "https://api.smsgateway.com"
self.headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
def send_message(self, phone, message):
url = f"{self.base_url}/api/sms/send"
payload = {
"phone": phone,
"message": message,
"timestamp": datetime.now().isoformat()
}
response = requests.post(
url,
headers=self.headers,
json=payload
)
return response.json()
def check_status(self, message_id):
url = f"{self.base_url}/api/sms/check-status/{message_id}"
response = requests.get(url, headers=self.headers)
return response.json()
# Usage example
gateway = SMSGateway("your_api_key_here")
result = gateway.send_message(
"+639123456789",
"Hello from SMS Gateway!"
)
print(f"Message sent! ID: {result['message_id']}")
Create your free account in less than 60 seconds. Choose between Standard (5,000 SMS/day) or Premium (10,000 SMS/day) subscription plans.
Create secure API keys with just one click. Add IP restrictions, rate limits, and permissions for enterprise-grade security.
Use our comprehensive documentation and code samples for quick integration. Choose from multiple programming languages and frameworks.
Send your first message and track delivery in real-time. Use our dashboard to monitor performance, view logs, and analyze metrics.
No coding experience? No problem! Play with our interactive SMS demo below.
// Code changes as you type above!
const sendSMS = async () => {
const apiKey = "demo_api_key_123";
const phone = "+639123456789"; // Your input will appear here
const message = "Hello, I'm learning to code!"; // Your message will appear here
const response = await fetch("https://sms.skyio.site/api/sms/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKey}`
},
body: JSON.stringify({ phone, message })
});
return await response.json();
};
// Let's run the function
sendSMS().then(result => console.log("Success!", result));
// Console output will appear here when you run the code > _
Change the phone number and message above
Notice how the code updates automatically
Click "Run Code" to see the console output
This demo shows how APIs work. Your inputs get sent to our server, which would normally send an SMS. The API then returns a response with the status of your message!
Everything you need to integrate our SMS API
POST /api/sms/send
Send a single SMS message to a specified phone number.
{
"phone": "+639123456789",
"message": "Your message here",
"priority": "normal" // optional
}
GET /api/sms/check-status/{id}
Check the status of a specific message by ID.
id: string (required) - The ID of the message to check
GET /api/sms/update-statuses
Update all pending/queued messages statuses.
{
"updated": 5,
"statuses": {
"sent": 3,
"failed": 1,
"pending": 1
}
}
$apiKey = 'your-api-key';
$url = 'https://sms.skyio.site/api/sms/send';
$data = [
'phone' => '+639123456789',
'message' => 'Hello from SMS API Gateway!',
];
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
const apiKey = 'your-api-key';
const url = 'https://sms.skyio.site/api/sms/send';
const data = {
phone: '+639123456789',
message: 'Hello from SMS API Gateway!'
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
api_key = 'your-api-key'
url = 'https://sms.skyio.site/api/sms/send'
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
'phone': '+639123456789',
'message': 'Hello from SMS API Gateway!'
}
response = requests.post(
url,
headers=headers,
data=json.dumps(data)
)
print(response.json())
Never miss a status change with our powerful tracking system
Our system automatically checks for status updates every 30 seconds, so you'll always know when your messages have been delivered.
Clear visual badges show message status: Queued (yellow), Delivered (green), or Failed (red). Status changes are highlighted for easy tracking.
Need an immediate update? Use the "Refresh Status" button to manually check the latest status of all your messages instantly.
Filter messages by status: view all messages, or focus only on pending, sent, or failed messages to quickly find what you need.
We're here to help with any questions about our SMS API Gateway