SMS API for Saudi Arabia: bulk SMS to +966 numbers
Saudi Arabia
Calling code +966
- Per SMS segment
- $0.01897
- Messages for $100
- 5,271
- Local language
- Arabic
- Encoding
- Unicode (UCS-2)
What a bulk SMS send to Saudi Arabia costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.01897 | $0.03794 |
| 1,000 | $18.97 | $37.94 |
| 10,000 | $189.70 | $379.40 |
| 100,000 | $1,897.00 | $3,794.00 |
Number format in Saudi Arabia
Mobile numbers in Saudi Arabia have 9 digits after +966. Locally they are written with a leading 0 (051 234 5678); in the API that 0 is dropped, so the same number goes in the to field as +966 51 234 5678.
Alphabet and segments
Text in Arabic is always Unicode, so a message to Saudi Arabia written in Arabic carries 70 characters in one segment and 67 in each part of a longer one. Codes and alerts written in English or plain Latin letters fit 160 characters, which halves the cost of a long notice.
Time zone and timing
Saudi Arabia keeps UTC+3 all year with no clock change, so 09:00 in Riyadh is always 06:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Saudi Arabia with one request
The answer comes back at once with the message id, the country the number was matched to (SA) and the price. A delivered or failed event follows on your webhook, and a failed message is refunded.
For a list, send the same text to up to 10,000 numbers with POST /v1/batches, or a personal text per number in messages.
curl https://bulksmsapi.cc/v1/messages \
-H "Authorization: Bearer $BULKSMSAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+966512345678", "text": "Your Northwind code is 482913. It expires in 10 minutes."}'const res = await fetch("https://bulksmsapi.cc/v1/messages", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BULKSMSAPI_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ to: "+966512345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.01897", country: "SA"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+966512345678", "text": "Your Northwind code is 482913. It expires in 10 minutes."}).encode(),
headers={"Authorization": "Bearer " + os.environ["BULKSMSAPI_KEY"], "Content-Type": "application/json", "User-Agent": "northwind-app/1.0"},
method="POST",
)
with urllib.request.urlopen(req) as res:
print(json.load(res)["price"]) # "0.01897"What developers send to Saudi Arabia
Flight updates
Travelers in Riyadh receive SMS notifications about flight delays or gate changes for their upcoming trips.
Order confirmations
Customers in Jeddah get a text confirming their online purchase and providing the expected delivery date.
Appointment reminders
Patients in Dammam receive SMS reminders about their scheduled medical appointments at local clinics.
Event tickets
Attendees in Riyadh get SMS confirmations with QR codes for entry to concerts or sports events.
More countries in Middle East
SMS to Saudi Arabia: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Saudi Arabia?
How many SMS to Saudi Arabia does a $100 top-up send?
How do I write Saudi Arabia numbers for the API?
What language should SMS messages be in for Saudi Arabia?
Are there peak times for SMS traffic in Saudi Arabia?
Start sending to Saudi Arabia
Create an account, top up from $40 and send to Saudi Arabia at $0.01897 per segment, from the console or with one API call.