Reach every customer by SMS. From a dashboard or one API call.
Send campaigns to your contact lists, or send messages from your own app with the TwistSMS REST API. Test keys, delivery logs and webhooks are built in.
Prepaid SMS packs. No subscription.
curl https://twistsms.izeesoft.com/developer/api/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"to": "+23566000000", "message": "Your code is 482913"}'
{ "status": "pending", "credits_used": 1 }
TwistSMS
now
Delivered
REST API with JSON
Separate test and live keys
Webhooks for delivery events
English, French and Arabic
Platform
Everything you need to message your customers
Use the dashboard for campaigns, or the API to send from your own product. Both draw on the same SMS credits.
Campaigns
Write a message once, send it to a whole contact list, and follow how each one went.
Contact lists
Keep customers in lists you can reuse across campaigns, and import contacts in bulk.
Developer API
Send SMS and read your messages and contact lists with a REST API secured by bearer keys.
Test and live modes
Build against test keys without sending real messages, then switch an app to live.
Webhooks and logs
Receive delivery and incoming-message events, and inspect every API request your app makes.
Prepaid SMS packs
Buy credits in packs and pay securely by card. Each SMS uses one credit.
How it works
Send your first SMS in minutes
-
1
Create your account
Sign up with your email address and confirm it.
-
2
Buy a pack of credits
Choose the pack that fits how many messages you send.
-
3
Send from the dashboard or the API
Start a campaign, or create an app and send with its API key.
For developers
One request to send an SMS
Authenticate with a bearer key, post a phone number and a message, and get JSON back.
- Test and live keys for every app
- Webhooks for delivery and incoming messages
- Request logs to debug your integration
require "net/http"
require "json"
uri = URI("https://twistsms.izeesoft.com/developer/send_sms")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = {
to: "+23512345678",
message: "Hello World!"
}.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.bodyimport json
import urllib.request
url = "https://twistsms.izeesoft.com/developer/send_sms"
payload = json.dumps({
"to": "+23512345678",
"message": "Hello World!"
}).encode("utf-8")
request = urllib.request.Request(url, data=payload, method="POST")
request.add_header("Authorization", "Bearer YOUR_API_KEY")
request.add_header("Content-Type", "application/json")
with urllib.request.urlopen(request) as response:
print(response.read().decode("utf-8"))(async () => {
const response = await fetch("https://twistsms.izeesoft.com/developer/send_sms", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
to: "+23512345678",
message: "Hello World!"
})
});
const data = await response.json();
console.log(data);
})();$url = "https://twistsms.izeesoft.com/developer/send_sms";
$payload = json_encode([
"to" => "+23512345678",
"message" => "Hello World!"
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;import "dart:convert";
import "dart:io";
void main() async {
final uri = Uri.parse("https://twistsms.izeesoft.com/developer/send_sms");
final client = HttpClient();
final request = await client.postUrl(uri);
request.headers.set("Authorization", "Bearer YOUR_API_KEY");
request.headers.set("Content-Type", "application/json");
request.add(utf8.encode(jsonEncode({
"to": "+23512345678",
"message": "Hello World!"
})));
final response = await request.close();
final body = await response.transform(utf8.decoder).join();
print(body);
client.close();
}Contact information
Contact us
We are here to help. Contact us for any questions or support requests.
- Phone
- +235 68 82 84 45
- [email protected]
- Address
- N'Djamena, Chad
- Business hours
- Monday - Friday: 8:00 AM - 5:00 PMWe usually reply within one business day.
Help with your integration
Our team can help you set up campaigns or connect your app to the API.
Send us a message
We will get back to you as soon as possible
Ready to reach your customers?
Create an account, buy a pack and send your first message today.