SMS Misr Egypt’s #1 SMS | Trusted by Thousands, Reliable. Unstoppable.

SMS Misr — Egypt’s Leading SMS & Mobile Advertising

Reach more customers with faster, reliable delivery. Build campaigns, target by GPS, and integrate via APIs in minutes.

Egy.bz #1 URL Shortener tool
Get your link for free now
Download SMS Misr mobile app
Download App
Recharge & Win 25,000 SMS Weekly
Recharge from Friday to Thursday and join the weekly draw!
With every recharge, you get a chance to win 25,000 SMS
Years of experience
18+
Satisfied clients
87,000+
Active Sender IDs
111,000+
Daily SMS Traffic
7,500,000+
Direct Gateways
4
Delivery Rate
99.9%

Services

Create / Add / Edit Groups
Build lists, import numbers, and send to saved groups with Smart Filter.
Start Nowe
GPS SMS Campaigns
Target by area polygons and networks (Vodafone, Orange, Etisalat, We).
Start Now
Targeted SMS Campaigns
Select predefined zones & demographics and run precision sends.
Start Nows
SMPP Connectivity
Operator-grade TRX binds, DLR, throttling, enquire_link, UCS-2 for Arabic.
Start Now
Bulk SMS API
Send single or multiple numbers via API with Unicode & Arabic support.
Start Now
OTP API
Secure, template-based OTP delivery with test environment support.
Start Now

SMS Plans

EGP 2,000

2500 SMS

  • Only One Sender ID
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 3,500

5000 SMS

  • Only One Sender ID
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 6,000

10000 SMS

  • Only One Sender ID
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 10,000

20000 SMS

  • Only One Sender ID
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 13,500

30000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 20,000

50000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 35,000

100000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 68,000

200000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 165,000

500000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 240,000

750000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 310,000

1000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 600,000

2000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 870,000

3000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 1,400,000

5000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 2,160,000

8000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now
EGP 2,600,000

10000000 SMS

  • Unlimited Sender IDs
  • Free Integration with APIs
  • 24/7 Support
Start Now

Payment Methods

Online Payment
  • Fawry Pay
  • Visa, MasterCard, Meeza, International Cards
Banks
  • Account Name: SMS Misr
  • Banque Misr4880001000008415
  • CIB100042751744
  • Banque Misr IBANEG760002048804880001000008415

Smart Filter for Mobile Numbers

Cleaner lists, better deliverability — built into Console & APIs.

  • Auto-clean spaces & symbols, normalize formats.
  • Deduplicate to keep numbers unique.
  • Choose All or New Only audiences.
  • Up to 500,000 numbers per request.
Balance Inquiry

Message Length Rules
  • Short SMS: 160 (plain) / 280 (Unicode) / 70 (Arabic)
  • Per part: 153 (plain) / 268 (Unicode) / 67 (Arabic)
  • Allowed chars: # $ % & * + - = _ ( ) , < > ' : ; ? . , ! /

APIs

Bulk SMS API

POST
SMS API Features
  • APIs support POST only
  • Single or multiple numbers
  • English / Arabic / Unicode
  • Smart filter for mobile numbers
  • Postman: postman.com/downloads
  • Balance: https://smsmisr.com/api/Balance/?username=xx&password=xx
Base URL: https://smsmisr.com/api/SMS/
(*) mandatory, (#) optional. Use environment=2 for testing.
Testing Sender Token: b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27

Parameters
FieldTypeNotes
environment*int1=Live, 2=Test
username*stringConsole → Settings
password*stringConsole → Settings
sender*stringSender token (Sender IDs)
mobile*stringe.g. 2011…,2012… (comma-separated)
language*int1=Eng, 2=Arabic, 3=Unicode
message*stringURL-encode if needed
DelayUntil#yyyyMMddHHmmOptional schedule
Querystring example: https://smsmisr.com/api/SMS/?environment=2&username=X&password=X&language=X&sender=X&mobile=X&message=X&DelayUntil=X
curl -X POST 'https://smsmisr.com/api/SMS/' \
  -d 'environment=2' \
  -d 'username=YOUR_USER' \
  -d 'password=YOUR_PASS' \
  -d 'sender=b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27' \
  -d 'mobile=2011XXXXXXX,2012XXXXXXX' \
  -d 'language=1' \
  -d 'message=Hello%20from%20SMS%20Misr' \
  -d 'DelayUntil=202509121230'
Response (Success)
{ "code": "1901", "SMSID": "12345", "Cost": "1" }
using System.Net.Http;
var form = new FormUrlEncodedContent(new[] {
  new KeyValuePair<string,string>("environment","2"),
  new KeyValuePair<string,string>("username","YOUR_USER"),
  new KeyValuePair<string,string>("password","YOUR_PASS"),
  new KeyValuePair<string,string>("sender","b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27"),
  new KeyValuePair<string,string>("mobile","2011XXXXXXX,2012XXXXXXX"),
  new KeyValuePair<string,string>("language","1"),
  new KeyValuePair<string,string>("message","Hello from SMS Misr")
});
using var http = new HttpClient();
var res = await http.PostAsync("https://smsmisr.com/api/SMS/", form);
var body = await res.Content.ReadAsStringAsync();
// { "code":"1901","SMSID":"12345","Cost":"1" }
import axios from "axios";
const data = new URLSearchParams({
  environment: "2",
  username: "YOUR_USER",
  password: "YOUR_PASS",
  sender: "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
  mobile: "2011XXXXXXX,2012XXXXXXX",
  language: "1",
  message: "Hello from SMS Misr"
});
const res = await axios.post("https://smsmisr.com/api/SMS/", data);
console.log(res.data); // { code:"1901", SMSID:"12345", Cost:"1" }
<?php
$ch = curl_init("https://smsmisr.com/api/SMS/");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => http_build_query([
    "environment" => "2",
    "username" => "YOUR_USER",
    "password" => "YOUR_PASS",
    "sender" => "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
    "mobile" => "2011XXXXXXX,2012XXXXXXX",
    "language" => "1",
    "message" => "Hello from SMS Misr"
  ])
]);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp; // { "code":"1901","SMSID":"12345","Cost":"1" }
import requests
payload = {
  "environment": "2",
  "username": "YOUR_USER",
  "password": "YOUR_PASS",
  "sender": "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
  "mobile": "2011XXXXXXX,2012XXXXXXX",
  "language": "1",
  "message": "Hello from SMS Misr"
}
r = requests.post("https://smsmisr.com/api/SMS/", data=payload)
print(r.text)  # { "code":"1901","SMSID":"12345","Cost":"1" }
import java.io.*; import java.net.*;
public class SmsMisr {
  public static void main(String[] args) throws Exception {
    URL url = new URL("https://smsmisr.com/api/SMS/");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestMethod("POST"); con.setDoOutput(true);
    String data = "environment=2&username=YOUR_USER&password=YOUR_PASS"
      + "&sender=b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27"
      + "&mobile=2011XXXXXXX,2012XXXXXXX&language=1&message=Hello%20from%20SMS%20Misr";
    try(OutputStream os = con.getOutputStream()) { os.write(data.getBytes("UTF-8")); }
    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String line, sb=\"\"; while((line=br.readLine())!=null) sb += line; System.out.println(sb);
  }
}
Response Codes
Success1901
Invalid Request1902
Invalid username/password1903
Invalid sender1904
Invalid mobile1905
Insufficient Credit1906
Server updating1907
Invalid DelayUntil format1908
Invalid Message1909
Invalid Language1910
Text too long1911
Invalid Environment1912

OTP API

POST
OTP API Features
  • POST only
  • Single mobile number
  • Fast & Secure Route
  • Template-based
  • Postman: postman.com/downloads
  • Balance: https://smsmisr.com/api/Balance/?username=xx&password=xx
Base URL: https://smsmisr.com/api/OTP/
Use environment=2 to test. Testing Sender Token: b611afb9966…ca27

Parameters
FieldTypeNotes
environment*int1=Live, 2=Test
username*stringSettings
password*stringSettings
sender*stringSender token
mobile*string2011XXXXXX
template*stringTemplate token
otp*stringMax 10 chars
curl -X POST 'https://smsmisr.com/api/OTP/' \
  -d 'environment=2' \
  -d 'username=YOUR_USER' \
  -d 'password=YOUR_PASS' \
  -d 'sender=b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27' \
  -d 'mobile=2011XXXXXXX' \
  -d 'template=TEMPLATE_TOKEN' \
  -d 'otp=123456'
Response (Success)
{ "code": "4901", "SMSID": "12345", "Cost": "1" }
using System.Net.Http;
var form = new FormUrlEncodedContent(new[] {
  new KeyValuePair<string,string>("environment","2"),
  new KeyValuePair<string,string>("username","YOUR_USER"),
  new KeyValuePair<string,string>("password","YOUR_PASS"),
  new KeyValuePair<string,string>("sender","b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27"),
  new KeyValuePair<string,string>("mobile","2011XXXXXXX"),
  new KeyValuePair<string,string>("template","TEMPLATE_TOKEN"),
  new KeyValuePair<string,string>("otp","123456")
});
using var http = new HttpClient();
var res = await http.PostAsync("https://smsmisr.com/api/OTP/", form);
var body = await res.Content.ReadAsStringAsync();
// { "code":"4901","SMSID":"12345","Cost":"1" }
import axios from "axios";
const data = new URLSearchParams({
  environment: "2",
  username: "YOUR_USER",
  password: "YOUR_PASS",
  sender: "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
  mobile: "2011XXXXXXX",
  template: "TEMPLATE_TOKEN",
  otp: "123456"
});
const res = await axios.post("https://smsmisr.com/api/OTP/", data);
console.log(res.data); // { code:"4901", SMSID:"12345", Cost:"1" }
<?php
$ch = curl_init("https://smsmisr.com/api/OTP/");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => http_build_query([
    "environment" => "2",
    "username" => "YOUR_USER",
    "password" => "YOUR_PASS",
    "sender" => "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
    "mobile" => "2011XXXXXXX",
    "template" => "TEMPLATE_TOKEN",
    "otp" => "123456"
  ])
]);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp; // { "code":"4901","SMSID":"12345","Cost":"1" }
import requests
payload = {
  "environment": "2",
  "username": "YOUR_USER",
  "password": "YOUR_PASS",
  "sender": "b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27",
  "mobile": "2011XXXXXXX",
  "template": "TEMPLATE_TOKEN",
  "otp": "123456"
}
r = requests.post("https://smsmisr.com/api/OTP/", data=payload)
print(r.text)  # { "code":"4901","SMSID":"12345","Cost":"1" }
import java.io.*; import java.net.*;
public class Otp {
  public static void main(String[] a) throws Exception {
    URL url = new URL("https://smsmisr.com/api/OTP/");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestMethod("POST"); con.setDoOutput(true);
    String data = "environment=2&username=YOUR_USER&password=YOUR_PASS"
      + "&sender=b611afb996655a94c8e942a823f1421de42bf8335d24ba1f84c437b2ab11ca27"
      + "&mobile=2011XXXXXXX&template=TEMPLATE_TOKEN&otp=123456";
    try(OutputStream os = con.getOutputStream()){ os.write(data.getBytes("UTF-8")); }
    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String line,s=\"\"; while((line=br.readLine())!=null) s+=line; System.out.println(s);
  }
}
Response Codes
Success4901
Invalid username/password4903
Invalid sender4904
Invalid mobile4905
Insufficient Credit4906
Server updating4907
Invalid OTP4908
Invalid Template Token4909
Invalid Environment4912
Templates
  • No templates available

SMPP Connectivity

Host<provided by SMS Misr>
Port<provided by SMS Misr>
Bind<provided by SMS Misr>
System ID<provided by SMS Misr>
Password<provided by SMS Misr>
TON/NPI<provided by SMS Misr>
Encoding<provided by SMS Misr>
Keepalive<provided by SMS Misr>
Throttle<provided by SMS Misr>
Contact info@sms.com.eg to provision binds, TPS, and IPs.
// C# — Inetlab.SMPP
using Inetlab.SMPP; using Inetlab.SMPP.PDU;
var client = new SmppClient();
await client.ConnectAsync("<host>", 0000);
var bindResp = await client.BindAsync("<system_id>", "<password>", ConnectionMode.Transceiver);
var submit = SMS.ForSubmit().From("SMSMisr").To("201001112223")
  .Text("مرحباً من إس إم إس مصر").DeliveryReceipt();
var resp = await client.SubmitAsync(submit);
// Node.js — smpp
const smpp = require('smpp');
const session = smpp.connect('smpp://<host>:0000');
session.bind_transceiver({system_id:'<id>', password:'<pass>'}, e=>{
  if(e) throw e;
  session.submit_sm({
    source_addr_ton:5, source_addr:'SMSMisr',
    destination_addr:'201001112223',
    data_coding:8, // UCS-2 Arabic
    short_message: Buffer.from('مرحبا', 'ucs2')
  });
});

Some of our clients

Client 1
Client 2
Client 3
Client 4
Client 5
Client 6
Client 7
Client 8
Client 9
Client 10
Client 11
Client 12