Reach customers in 190+ countries instantly. OTP codes, transactional alerts, and bulk campaigns — all through one simple API with a 99.5% delivery rate.
// Send SMS via API Services
$client = new GuzzleHttp\Client();
$response = $client->post('https://api.apiservices.io/sms/send', [
'headers' => [
'Authorization' => 'Bearer ' . $apiKey,
],
'json' => [
'to' => '+14155552671',
'from' => 'MyBrand',
'message' => 'Your OTP code is 847291. Expires in 5 min.',
'type' => 'transactional',
],
]);
$data = json_decode($response->getBody(), true);
// $data['sms_id'] = 'sms_8Rb3KxQp'
// $data['status'] = 'sent'
OTP, alerts, campaigns, and delivery tracking — fully covered from day one.
Send OTP codes, delivery alerts, appointment reminders, and booking confirmations — triggered by your system events.
Launch marketing campaigns to thousands of recipients simultaneously. Schedule sends, segment audiences, and track results.
Built-in two-factor authentication via SMS. Generate, send, and verify OTP codes with automatic expiration management.
Real-time delivery status for every message. Webhook callbacks fire the moment a message is delivered, failed, or pending.
Connect buyers and sellers, patients and doctors — hide real phone numbers behind virtual proxy numbers for full privacy.
Schedule individual or bulk SMS messages to send at a future date and time in any timezone. Manage, edit, or cancel before dispatch.
Our carrier network spans every continent, ensuring messages arrive fast — wherever your customers are.
Tier-1 carrier connections in all major regions
From fintech to healthcare — SMS is the highest-read communication channel available.
Send two-factor authentication codes, transaction alerts, fraud warnings, and balance notifications in real time to keep customers informed and secure.
Keep customers in the loop with instant order confirmations, dispatch notifications, and last-mile delivery updates — boosting satisfaction and reducing support tickets.
Reduce no-shows with automated appointment reminders, send medication alerts, and keep patients engaged with timely health follow-up messages.
Simple, predictable API. Works with any language, any framework.
// Send a transactional SMS
$http = new GuzzleHttp\Client();
$res = $http->post('https://api.apiservices.io/sms/send', [
'headers' => ['Authorization' => 'Bearer ' . $apiKey],
'json' => [
'to' => '+447911123456',
'from' => 'YourBrand',
'message' => 'Hi Sarah! Your order #78431 has been shipped.',
'type' => 'transactional',
'callback' => 'https://yourapp.com/webhooks/sms-status',
],
]);
$data = json_decode($res->getBody(), true);
echo $data['status']; // "delivered"
// Step 1: Send OTP
$sendRes = $http->post('https://api.apiservices.io/sms/otp/send', [
'headers' => ['Authorization' => 'Bearer ' . $apiKey],
'json' => [
'to' => '+14155552671',
'expires_in' => 300, // 5 minutes
'length' => 6,
],
]);
$session = json_decode($sendRes->getBody(), true)['session_id'];
// Step 2: Verify OTP entered by user
$verifyRes = $http->post('https://api.apiservices.io/sms/otp/verify', [
'headers' => ['Authorization' => 'Bearer ' . $apiKey],
'json' => ['session_id' => $session, 'code' => $userInput],
]);
// {"verified": true, "phone": "+14155552671"}
Built on Tier-1 carrier connections with automatic failover and real-time monitoring.
See Pricing Plans| Specification | Details |
|---|---|
| Setup Time | 24 – 48 Hours |
| Billing Cycle | Monthly (cancel any time) |
| Support | Email + Live Chat |
| Code Snippets | PHP, JavaScript, Python |
| Encryption | TLS 1.3 Enforced |
| Dashboard | Full Access |
Common questions about our SMS API service.
190+ countries, 99.5% delivery rate, and a developer-friendly API. Your first 100 SMS are on us.
No credit card required • 24-hour setup • Cancel any time