sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

Eswatini (Swaziland) SMS Guide 2025: Sender ID Registration, Compliance & API Integration

Complete Eswatini SMS messaging guide: Data Protection Act 2022 compliance, MTN Eswatini sender ID registration (3 weeks), ESCCOM regulations, API integration for Twilio, Sinch & Plivo.

Eswatini (Swaziland) SMS Best Practices, Compliance, and Features

Implement compliant SMS messaging in Eswatini with this guide covering the Data Protection Act 2022, ESCCOM regulations, sender ID registration with MTN Eswatini and Eswatini Mobile, and API integration for Twilio, Sinch, MessageBird, and Plivo. Learn how to send SMS in Eswatini (formerly Swaziland) while ensuring compliance with local telecommunications regulations.

Note: The Kingdom of Swaziland officially changed its name to the Kingdom of Eswatini on April 19, 2018. While "Swaziland" may still appear in legacy documentation and ISO codes, "Eswatini" is the current official name used by the government and United Nations since May 30, 2018.

Eswatini SMS Market Overview and Mobile Operators

Locale name:Eswatini (formerly Swaziland)
ISO code:SZ
RegionMiddle East & Africa
Mobile country code (MCC)653
Dialing Code+268

Eswatini's mobile market shows robust connectivity with 1.67 million cellular connections in early 2025 – 134% penetration of the 1.25 million population (GSMA Intelligence, January 2025). Two mobile operators serve the market: MTN Eswatini (approximately 1.0 million subscribers) and Eswatini Mobile (launched July 2018). Mobile penetration is 107% with 99.1% population coverage and 78.2% geographic coverage (U.S. International Trade Administration, June 2024). Mobile broadband penetration is 124%, with 94.1% of connections on 3G/4G/5G networks as of early 2025. While OTT messaging apps reach 720,000 internet users (57.6% penetration), SMS remains the most reliable channel due to universal accessibility and high open rates. Both operators provide Enterprise Bulk SMS services for A2P (Application to Person) and P2A (Person to Application) messaging via SMPP integration, portal-based systems, and once-off requests.

For SMS messaging in other African markets, see our guides for South Africa SMS, Namibia SMS, and Botswana SMS.

Key SMS Features and Capabilities in Eswatini

Network operators prioritize reliability and universal reach over advanced features, focusing on expanding 4G/LTE coverage (currently ~60% population) during the transition away from legacy 2G/3G networks.

Two-way SMS Support

Two-way SMS is not supported through standard API providers. Design your applications for one-way communications – notifications, alerts, and marketing messages.

Workarounds for interactive communications:

  • Direct recipients to USSD codes for responses
  • Implement web-based response forms with SMS confirmation
  • Use OTT messaging platforms (WhatsApp reaches 67,500 users or 5.4%)
  • Combine SMS notifications with mobile app interactions for the 94.1% of users on broadband networks

Concatenated Messages (Segmented SMS)

Support: Not supported.

Message length limits:

  • GSM-7 encoding: 160 characters
  • UCS-2 encoding: 70 characters (required for siSwati)

Encoding considerations: UCS-2 uses 16-bit encoding for Unicode characters including siSwati-specific characters. Both GSM-7 and UCS-2 are supported.

MMS Support

MMS converts to SMS with an embedded URL. Recipients receive a text message with a link to view media online.

Technical details:

  • Conversion handled by carrier's MMSC (Multimedia Messaging Service Center)
  • URLs shortened and hosted on carrier or API provider servers
  • Media accessible for 30 days (varies by provider – check documentation)
  • Use HTTPS URLs from reputable domains to avoid filtering
  • Supported formats: JPEG, PNG, GIF (images); MP4, 3GP (video)

Recipient Phone Number Compatibility

Number Portability

Number portability is not available. Mobile numbers remain tied to their original operator (MTN Eswatini or Eswatini Mobile), ensuring more reliable message routing.

Sending SMS to Landlines

Sending SMS to landline numbers is not possible. API attempts return a 400 error (code 21614) with no delivery or charges.

Example error response (Twilio):

json
{
  "code": 21614,
  "message": "To number is not a valid mobile number",
  "more_info": "https://www.twilio.com/docs/errors/21614",
  "status": 400
}

SMS Compliance and Regulatory Guidelines for Eswatini: Data Protection Act 2022 & ESCCOM

SMS communications in Eswatini are governed by multiple regulatory frameworks:

Primary Regulatory Authority: The Eswatini Communications Commission (ESCCOM), established under Act No. 10 of 2013, oversees telecommunications, spectrum allocation, and serves as the National Data Protection Authority.

Key Legislation:

  • Eswatini Communications Commission Act, 2013: Governs telecommunications licensing, quality of service, subscriber registration, and network operations
  • Data Protection Act No. 5 of 2022 (effective March 4, 2022): Regulates collection, processing, storage, and disclosure of personal data. Penalties include fines up to E100 million (~USD 5.5 million), up to 5% of annual turnover, and/or up to 10 years imprisonment for organizations. ESCCOM enforces as the National Data Protection Authority. No major enforcement actions have been documented as of early 2025, but implement full compliance measures given the severe penalties.
  • Subscriber Registration Regulations, 2016: Governs mobile subscriber registration requirements

For comprehensive SMS compliance information across different regions, see our Global SMS Compliance Guide.

Explicit Consent Requirements (Data Protection Act 2022):

  • Obtain clear, purpose-specific opt-in consent before collecting or processing personal data
  • Maintain detailed records of when and how you obtained consent
  • Apply data minimization – collect only necessary data
  • Include clear terms during opt-in
  • Provide transparent information about frequency, content, and processing purposes
  • Honor data subject rights: access, correction, and deletion

Implementation examples:

Web form consent: Include checkbox (unchecked by default):

"I consent to receive SMS notifications about [specific purpose] from [Company Name]. I can opt out anytime by replying STOP. Frequency: approximately [X] messages per month."

In-app consent: Present consent screen before first SMS with purpose, frequency, and privacy policy link. Store timestamp, IP address, and consent text version.

Point-of-sale consent: Use written or tablet-based digital consent with customer signature. Store copies for audits.

Record retention: Maintain consent records for minimum 7 years: timestamp, method, consent text, customer identifier, IP address/location.

HELP/STOP and Other Commands

  • Support standard HELP and STOP commands in all campaigns
  • Recognize English and siSwati keywords:
    • STOP: CANCEL, UNSUBSCRIBE, END, YIMA (siSwati)
    • HELP: INFO, SIZA (siSwati)
  • Respond immediately in the user's preferred language

Do Not Call / Do Not Disturb Registries

Eswatini does not maintain an official Do Not Call registry. You must:

  • Maintain suppression lists per Data Protection Act principles
  • Honor opt-out requests within 24 hours
  • Document all opt-out requests
  • Regularly clean contact lists

Cross-Border Data Transfers: Transferring personal data (phone numbers, message metadata) outside Eswatini has relaxed conditions for Southern African Development Community (SADC) Member States. Transfers to non-SADC jurisdictions require additional safeguards.

Time Zone Sensitivity

Eswatini follows SAST (South African Standard Time, UTC+2).

Recommended sending hours:

  • Business: 8:00 AM – 6:00 PM SAST
  • Marketing: 9:00 AM – 5:00 PM SAST
  • Urgent: 24/7 if critical

Network Technology Notice (2025): ESCCOM Notice 5/2025 (June 17, 2025) schedules legacy network retirement:

Key timelines:

  • November 30, 2025: Ban on importing 2G-only and 3G-only devices
  • December 31, 2028: Complete 2G shutdown
  • December 31, 2030: Complete 3G shutdown

Ensure your SMS infrastructure supports 4G/LTE and newer technologies. SMS delivery continues unaffected on modern networks.

SMS Sender ID Registration in Eswatini: Alphanumeric, Long Codes & Short Codes

Alphanumeric Sender ID Registration

Network capability: Supported with pre-registration Requirements: Global pre-registration required; no dynamic usage Preservation: Yes, registered IDs preserved

Registration process:

  1. Contact MTN Eswatini or Eswatini Mobile to initiate registration
  2. Provide documentation: business registration, use case, sample messages
  3. Submit sender ID request (3-11 alphanumeric characters)
  4. Wait ~3 weeks for processing and approval
  5. Receive confirmation and configuration details

Registration contacts:

Additional notes:

  • Do not use promotional content with registered sender IDs
  • Avoid generic IDs (InfoSMS, INFO, Verify)
  • Required documentation: business registration certificate, signatory letter, sender ID justification, sample templates

For more information on sender ID registration across different countries, see our SMS Sender ID Registration Guide.

Long Codes

Domestic vs. International: Neither domestic nor international long codes are supported Sender ID preservation: N/A Provisioning time: N/A Use cases: Not available for SMS messaging in Eswatini

Short Codes

Support: Not currently supported in Eswatini Provisioning time: N/A Use cases: N/A

Restricted SMS Content, Industries, and Use Cases

Restricted Content Types (per ESCCOM regulations and carrier policies):

  • Gambling and betting services (unless licensed under Eswatini Gaming Act)
  • Adult content or explicit material
  • Unauthorized financial services (requires Central Bank of Eswatini authorization)
  • Cryptocurrency promotions (unregulated financial products)
  • Political campaign messages without proper authorization (per Elections Act)

Legal consequences:

  • Sender ID suspension or revocation
  • ESCCOM fines up to E100 million for serious breaches
  • License suspension for persistent violations
  • Criminal prosecution for fraudulent content
  • Carrier blacklisting

Violation examples: Unregistered investment schemes, explicit content, unauthorized medical claims, impersonating government/financial institutions, phishing, inciting violence.

Content Filtering

Carrier filtering rules:

  • Keywords associated with fraud, scams, or prohibited services
  • URLs from new or suspicious domains
  • Excessive punctuation, all-caps text, or currency symbols
  • Messages impersonating banks or government

Best Practices to Avoid Filtering:

  • Use clear, professional language
  • Avoid spam trigger words ("free money", "guaranteed", "click now", "urgent")
  • Include your company name in messages
  • Keep URLs to a minimum (maximum 1-2 per message)
  • Use established, verified domains with HTTPS
  • Maintain consistent sending patterns (avoid sudden volume spikes)

Best Practices for Sending SMS in Eswatini

Messaging Strategy

  • Keep messages under 160 characters when possible (concatenation not supported)
  • Include clear call-to-actions
  • Personalize messages using recipient's name when consent covers such use
  • Maintain consistent branding across messages
  • Apply data minimization principles per Data Protection Act 2022 – collect and use only data necessary for your stated SMS purpose
  • Ensure message content aligns with the purpose you disclosed during consent collection

Sending Frequency and Timing

  • Limit marketing messages to 2–4 per month per recipient
  • Respect local holidays and cultural events (Incwala ceremony, King's Birthday, Independence Day)
  • Avoid sending during major religious observances (Easter, Christmas, Ramadan/Eid)
  • Space out messages to prevent recipient fatigue

Localization

Language considerations: Eswatini is officially bilingual with English and siSwati (ISO 639: ss). Support both languages based on customer preference.

siSwati SMS implementation:

  • siSwati uses Latin script with standard characters, making it compatible with GSM-7 encoding for most text
  • Use UCS-2 encoding when including specialized characters or when combining siSwati with English to ensure proper display
  • Character count: 70 characters per SMS when using UCS-2 encoding
  • Common siSwati greetings: "Sawubona" (Hello), "Ngiyabonga" (Thank you), "Yebo" (Yes), "Cha" (No)
  • Consider cultural context: siSwati culture values respect and formal address, especially for elder recipients
  • Use appropriate date formats (DD/MM/YYYY common in Eswatini)
  • Respect local customs: avoid overly direct language, use honorifics when appropriate

Opt-Out Management

  • Process opt-outs within 24 hours
  • Send confirmation of opt-out completion
  • Maintain accurate opt-out records
  • Audit opt-out list compliance regularly

Testing and Monitoring

Recommended test scenarios:

  • Send test messages to both MTN Eswatini and Eswatini Mobile numbers
  • Test messages at character limits (160 GSM-7, 70 UCS-2)
  • Test with siSwati characters and mixed language content
  • Verify sender ID display across both networks
  • Test during different times of day to assess delivery speed
  • Verify URL link functionality and media loading (for MMS-to-SMS conversions)
  • Test opt-out command recognition (STOP, HELP, siSwati equivalents)

Key metrics to monitor:

  • Delivery rates by operator (target: >95% for both MTN and Eswatini Mobile)
  • Average delivery time (baseline: <30 seconds for high-priority messages)
  • Opt-out rates (alert if >2% per campaign)
  • Bounce rates (investigate if >5%)
  • Engagement indicators (if using click tracking in URLs)

SMS API Integration for Eswatini: Twilio, Sinch, MessageBird & Plivo

Twilio SMS API for Eswatini

Twilio provides a robust SMS API for sending messages to Eswatini. Here's how to implement it:

typescript
import * as Twilio from 'twilio';

// Initialize the Twilio client with your credentials
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;

// Create Twilio client instance
const client = new Twilio(accountSid, authToken);

// Send SMS to Eswatini with pre-registered sender ID
async function sendSMSToEswatini(
  to: string,
  message: string,
  senderId: string
) {
  try {
    // Ensure number is in E.164 format for Eswatini (+268)
    const formattedNumber = to.startsWith('+268') ? to : `+268${to}`;

    const response = await client.messages.create({
      body: message,
      from: senderId, // Must be pre-registered alphanumeric sender ID
      to: formattedNumber,
      statusCallback: process.env.DELIVERY_RECEIPT_URL, // Optional: webhook for delivery status
    });

    console.log(`Message sent successfully! SID: ${response.sid}`);
    return response;
  } catch (error) {
    // Handle common errors
    if (error.code === 21614) {
      console.error('Invalid mobile number (possibly landline)');
    } else if (error.code === 21408) {
      console.error('Permission denied for destination country');
    } else if (error.code === 21211) {
      console.error('Invalid from number/sender ID');
    }
    console.error('Error sending message:', error);
    throw error;
  }
}

Twilio rate limits: 10 messages per second (MPS) default for non-US/Canada international destinations. Can use multiple Twilio numbers to increase throughput if needed for high-volume campaigns.

Sinch SMS API for Eswatini

Sinch offers SMS capabilities for Eswatini through their REST API:

typescript
import { SinchClient } from '@sinch/sdk-core';

// Initialize Sinch client
const sinchClient = new SinchClient({
  projectId: process.env.SINCH_PROJECT_ID,
  keyId: process.env.SINCH_KEY_ID,
  keySecret: process.env.SINCH_KEY_SECRET
});

// Function to send SMS using Sinch
async function sendSinchSMS(
  recipientNumber: string,
  messageText: string
) {
  try {
    const response = await sinchClient.sms.batches.send({
      sendSMSRequestBody: {
        to: [recipientNumber], // Must include country code +268
        from: "YourBrand", // Pre-registered sender ID
        body: messageText,
        delivery_report: "per_recipient" // Optional: enable delivery reports
      }
    });

    console.log('Message sent:', response);
    return response;
  } catch (error) {
    console.error('Sinch SMS Error:', error);
    throw error;
  }
}

Sinch rate limits: Each service plan has specific rate limits; contact Sinch sales for exact MPS allocation. Messages are queued in FIFO order if rate limit exceeded.

MessageBird SMS API for Eswatini

MessageBird (referenced as "Bird" in the template) provides SMS services for Eswatini:

typescript
import { MessageBird } from 'messagebird';

// Initialize MessageBird client
const messagebird = new MessageBird(process.env.MESSAGEBIRD_API_KEY);

// Function to send SMS via MessageBird
async function sendMessageBirdSMS(
  to: string,
  message: string,
  originator: string
) {
  return new Promise((resolve, reject) => {
    messagebird.messages.create({
      originator: originator, // Pre-registered sender ID
      recipients: [to], // Must include +268 prefix
      body: message,
      reportUrl: process.env.DELIVERY_REPORT_URL // Optional: delivery status webhook
    }, (err, response) => {
      if (err) {
        console.error('MessageBird Error:', err);
        reject(err);
      } else {
        console.log('Message sent successfully:', response);
        resolve(response);
      }
    });
  });
}

MessageBird rate limits: Standard plans support 50-100 MPS; contact MessageBird for enterprise throughput requirements.

Plivo SMS API for Eswatini

Plivo's API can be used to send SMS to Eswatini:

typescript
import * as plivo from 'plivo';

// Initialize Plivo client
const client = new plivo.Client(
  process.env.PLIVO_AUTH_ID,
  process.env.PLIVO_AUTH_TOKEN
);

// Function to send SMS via Plivo
async function sendPlivoSMS(
  destination: string,
  message: string,
  senderId: string
) {
  try {
    const response = await client.messages.create({
      src: senderId, // Pre-registered sender ID
      dst: destination, // Include +268 prefix
      text: message,
      url: process.env.DELIVERY_REPORT_URL, // Optional: delivery receipt URL
      method: 'POST'
    });

    console.log('Plivo message sent:', response);
    return response;
  } catch (error) {
    console.error('Plivo Error:', error);
    throw error;
  }
}

Plivo rate limits: Default ~30 requests/messages per second for most destinations. Higher throughput available with enterprise plans.

API Rate Limits and Throughput

Provider-specific rate limits (as of 2025):

  • Twilio: 10 MPS for non-US/Canada international messaging; queue capacity of 360,000 message segments (10 hours at 10 MPS)
  • Sinch: Rate limits vary by service plan; messages queue in FIFO order when limits exceeded
  • MessageBird: 50-100 MPS standard; enterprise plans support higher throughput
  • Plivo: ~30 MPS default for international destinations; scalable with enterprise plans

Throughput Management Strategies:

  • Use message queuing systems (Redis, RabbitMQ, AWS SQS) to manage send rates
  • Implement rate limiting middleware with token bucket or leaky bucket algorithms
  • Monitor delivery rates and adjust sending patterns to avoid carrier throttling
  • Batch similar messages for efficient processing (group by operator, time zone, language)
  • For high-volume campaigns (>10,000 messages), consider spreading across multiple sender IDs or time windows

Rate limiting implementation example (Node.js with Redis):

typescript
import { RateLimiterRedis } from 'rate-limiter-flexible';
import Redis from 'ioredis';

const redisClient = new Redis({ enableOfflineQueue: false });

const rateLimiter = new RateLimiterRedis({
  storeClient: redisClient,
  keyPrefix: 'sms_eswatini',
  points: 10, // 10 messages
  duration: 1, // per 1 second
  blockDuration: 1, // block for 1 second if exceeded
});

async function sendWithRateLimit(phoneNumber: string, message: string) {
  try {
    await rateLimiter.consume(phoneNumber); // Use phoneNumber as key for per-recipient limiting
    // Proceed with SMS sending
    await sendSMSToEswatini(phoneNumber, message, 'YourBrand');
  } catch (rateLimiterRes) {
    // Rate limit exceeded, queue for retry
    console.log(`Rate limit hit, retry after ${rateLimiterRes.msBeforeNext}ms`);
    setTimeout(() => sendWithRateLimit(phoneNumber, message), rateLimiterRes.msBeforeNext);
  }
}

Error Handling and Reporting

Common error codes and handling:

  • 21614 (Twilio) / 4001: Invalid number format - validate E.164 format (+268XXXXXXXX)
  • 21408 / 4002: Network not available - retry with exponential backoff (5s, 15s, 45s)
  • 21211 / 4003: Message content rejected - review content filtering rules, check sender ID registration
  • 21606: Number in carrier's blocked list - remove from database, log for compliance
  • 30006: Landline or unreachable number - validate number type before sending

Retry logic implementation example:

typescript
async function sendSMSWithRetry(
  phoneNumber: string,
  message: string,
  maxRetries: number = 3
): Promise<any> {
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    try {
      const result = await sendSMSToEswatini(phoneNumber, message, 'YourBrand');

      // Log successful delivery
      await logDelivery({
        phone: phoneNumber,
        status: 'sent',
        messageId: result.sid,
        timestamp: new Date()
      });

      return result;
    } catch (error) {
      const isRetryable = ['4002', '30006', 'ETIMEDOUT'].includes(error.code);

      if (attempt === maxRetries || !isRetryable) {
        // Final failure - log and alert
        await logDelivery({
          phone: phoneNumber,
          status: 'failed',
          error: error.message,
          errorCode: error.code,
          attempts: attempt,
          timestamp: new Date()
        });
        throw error;
      }

      // Exponential backoff: 5s, 15s, 45s
      const delayMs = Math.pow(3, attempt) * 5000;
      console.log(`Retry ${attempt}/${maxRetries} after ${delayMs}ms`);
      await new Promise(resolve => setTimeout(resolve, delayMs));
    }
  }
}

Monitoring and reporting essentials:

  • Track delivery receipts (DLRs) via webhooks to monitor actual delivery success
  • Store message metadata: timestamp, recipient, sender ID, message length, delivery status, error codes
  • Set up alerts for: delivery rate drops below 90%, error rate exceeds 5%, specific error code patterns
  • Generate daily/weekly reports on: total sent, delivered, failed, average delivery time, cost per message

Recap and Additional Resources

Key Takeaways:

  • Use pre-registered alphanumeric sender IDs only (register via mtnbusiness.sz@mtn.com or Eswatini Mobile)
  • Comply with Data Protection Act 2022 requirements for consent and cross-border data transfers
  • Implement proper error handling and retry logic with exponential backoff
  • Follow local time zone restrictions (SAST, UTC+2)
  • Maintain proper opt-out management and honor data subject rights
  • Monitor delivery rates and user engagement
  • Prepare for 2G/3G network retirement: device import ban by November 2025, 2G shutdown by December 2028, 3G shutdown by December 2030
  • Test across both MTN Eswatini and Eswatini Mobile networks
  • Respect API rate limits: Twilio 10 MPS, Plivo ~30 MPS, MessageBird 50-100 MPS

Next Steps:

  1. Review the Eswatini Communications Commission Regulations
  2. Review the Data Protection Act No. 5 of 2022
  3. Implement consent management systems compliant with data protection requirements
  4. Set up monitoring and reporting tools
  5. Test message delivery across MTN Eswatini and Eswatini Mobile networks

Additional Resources:

Frequently Asked Questions About SMS in Eswatini

What is the Data Protection Act 2022 in Eswatini?

The Data Protection Act No. 5 of 2022 (effective March 4, 2022) regulates the collection, processing, storage, and disclosure of personal data in Eswatini. For SMS marketing, you must obtain clear, purpose-specific consent before collecting phone numbers or sending messages. Penalties for non-compliance include fines up to E100 million (~USD 5.5 million), up to 5% of annual turnover, and/or up to 10 years imprisonment. ESCCOM serves as the National Data Protection Authority.

How do I register an SMS sender ID in Eswatini?

Contact MTN Eswatini at mtnbusiness.sz@mtn.com or call +268 78081001, or Eswatini Mobile through their Enterprise SMS Setup page to register your alphanumeric sender ID. The registration process takes approximately 3 weeks and requires global pre-registration – dynamic sender IDs are not allowed. Provide business registration documents, use case description, and sample message templates. Do not use promotional content with registered sender IDs, and avoid generic names like "InfoSMS" or "Verify." Only pre-registered sender IDs will be preserved when sending messages.

Which mobile operators provide SMS services in Eswatini?

Eswatini has two mobile operators: MTN Eswatini (the largest operator with ~1.0 million subscribers) and Eswatini Mobile (launched July 2018). Both provide Enterprise Bulk SMS services for businesses. MTN offers A2P (Application to Person) and P2A (Person to Application) bulk SMS through SMPP integration, portal-based systems, and once-off requests. Combined network coverage: 99.1% population coverage for 2G, ~90% for 3G, and ~60% for 4G/LTE. Mobile market penetration: 107% (1.67 million connections for 1.25 million population). Test your SMS delivery across both networks to ensure reliable message routing.

Does Eswatini support two-way SMS messaging?

No. Two-way SMS is not supported in Eswatini through standard API providers. Design your applications for one-way communications only, typically focusing on notifications, alerts, and marketing messages. For interactive communications, consider alternative channels: USSD codes, web-based response forms with SMS confirmation, OTT messaging platforms (WhatsApp reaches 67,500 users in Eswatini), or hybrid approaches combining SMS notifications with mobile app interactions.

What are the character limits for SMS in Eswatini?

Standard SMS supports 160 characters using GSM-7 encoding or 70 characters using UCS-2 encoding (for siSwati and other Unicode characters). Concatenated messaging (long SMS) is not supported in Eswatini – messages exceeding these limits will be truncated or rejected. Keep all messages within the single-segment character limits. Use UCS-2 encoding when including siSwati text or special characters.

Can I transfer Eswatini customer data to servers outside the country?

Under the Data Protection Act 2022, cross-border data transfers (including phone numbers and message metadata) have relaxed conditions for transfers to Southern African Development Community (SADC) Member States: Angola, Botswana, Comoros, Democratic Republic of Congo, Eswatini, Lesotho, Madagascar, Malawi, Mauritius, Mozambique, Namibia, Seychelles, South Africa, Tanzania, Zambia, and Zimbabwe. Transfers to non-SADC jurisdictions require additional safeguards such as: standard contractual clauses, binding corporate rules, or adequacy determinations by ESCCOM. Consult ESCCOM guidelines or legal counsel for specific transfer requirements.

Eswatini follows SAST (South African Standard Time, UTC+2). Send business messages between 8:00 AM – 6:00 PM SAST and marketing messages between 9:00 AM – 5:00 PM SAST. Send urgent notifications 24/7 only if critical. Limit marketing messages to 2–4 per month per recipient to prevent fatigue and comply with best practices. Avoid sending during major local holidays (Incwala ceremony, King's Birthday, Independence Day) and religious observances.

Does Eswatini have a Do Not Call registry for SMS?

No. Eswatini does not maintain an official Do Not Call registry. However, you must maintain your own suppression lists in compliance with Data Protection Act principles, honor opt-out requests within 24 hours, document all opt-out requests, and regularly clean contact lists. Support standard HELP and STOP commands in both English and siSwati (e.g., "YIMA" for stop, "SIZA" for help).

Will 2G and 3G networks affect SMS delivery in Eswatini?

ESCCOM issued Notice 5/2025 (June 17, 2025) regarding the planned retirement of legacy mobile network technologies in Eswatini. Timeline: Ban on importation and type approval of 2G-only and 3G-only devices effective November 30, 2025; complete 2G network shutdown effective December 31, 2028; complete 3G network shutdown effective December 31, 2030. Ensure your SMS infrastructure remains compatible with 4G/LTE and newer technologies. SMS delivery will continue unaffected on modern networks, but devices limited to 2G/3G will lose connectivity per the published schedule. Encourage customers to upgrade to 4G-capable devices before the deadlines.

Which SMS APIs work best for Eswatini?

Twilio, Sinch, MessageBird, and Plivo all provide SMS API support for Eswatini (+268 country code). All messages require pre-registered alphanumeric sender IDs and E.164 phone number formatting. Rate limits: Twilio 10 MPS, Plivo ~30 MPS, MessageBird 50-100 MPS, Sinch varies by plan. Use batch processing for large volumes, implement exponential backoff for retry logic (5s, 15s, 45s), and monitor delivery receipts (DLRs) via webhooks to track message success rates across MTN Eswatini and Eswatini Mobile networks. Test across both operators before production deployment.

Frequently Asked Questions

How to send SMS messages to Swaziland?

Use a pre-registered alphanumeric sender ID and ensure the recipient's number starts with +268. Several providers like Twilio, Sinch, MessageBird, and Plivo offer APIs with code examples to facilitate sending SMS messages to Swaziland. Remember to handle errors and manage opt-outs effectively.

What is the SMS market like in Swaziland?

Swaziland's SMS market is growing for business uses, despite increasing OTT app usage. SMS remains reliable due to its broad accessibility and high open rates, with major operators supporting a solid delivery infrastructure. Two-way messaging and SMS concatenation aren't supported.

Why does Swaziland not support two-way SMS?

Standard API providers in Swaziland do not support two-way SMS communication. Design applications for one-way communications like notifications, alerts, and marketing messages. This limitation affects how businesses interact with customers via SMS.

When should I send marketing SMS messages in Swaziland?

The best time to send marketing messages in Swaziland is between 9:00 AM and 5:00 PM SAST (UTC+2). Respecting local time zones increases engagement and avoids disturbing recipients outside of business hours. Consider local holidays and cultural events.

Can I send SMS to landlines in Swaziland?

No, sending SMS messages to landline numbers in Swaziland is not possible. Attempts to do so result in a 400 response error (code 21614) via the API, with no message delivery or charges. Focus on mobile numbers for SMS communication.

What SMS content is restricted in Swaziland?

Restricted content includes gambling, adult material, unauthorized financial services, cryptocurrency promotions, and political campaigns without authorization. Content filtering exists, so avoid spam trigger words and use clear, professional language. Swaziland's Communications Commission oversees these regulations.

How to comply with SMS regulations in Swaziland?

Obtain explicit opt-in consent before sending marketing messages, support HELP/STOP commands in English and siSwati, and honor opt-out requests within 24 hours. While there's no official Do Not Call list, maintain your own suppression list and adhere to the Swaziland Communications Commission (ESCCOM) guidelines.

What is the character limit for SMS messages in Swaziland?

Due to lack of concatenated SMS support, messages in Swaziland should be kept within the standard SMS length limit of 160 characters when possible. Longer messages may be split and received as separate messages, potentially disrupting the user experience.

What is the process for registering an alphanumeric sender ID in Swaziland?

Global pre-registration is required for alphanumeric sender IDs, and dynamic usage isn't allowed. The registration process takes approximately 3 weeks. Promotional content is not permitted with registered sender IDs, and generic IDs are discouraged.

How to handle SMS opt-outs in Swaziland?

Process opt-out requests within 24 hours, send a confirmation of the opt-out, and keep accurate records for compliance. Regularly audit your opt-out list to ensure adherence to regulations and best practices.

What are the recommended SMS API integration options for Swaziland?

The article provides integration examples for Twilio, Sinch, MessageBird, and Plivo. These providers offer reliable SMS services for Swaziland, including code samples for easier implementation. Remember to adapt the code with your specific credentials and requirements.

How to manage API rate limits for SMS in Swaziland?

The default rate limit is 100 messages per second. Use batch processing for large volumes and implement exponential backoff for retry logic. Consider queuing systems like Redis or RabbitMQ and rate limiting middleware for throughput management during peak times.

What are some best practices for sending SMS in Swaziland?

Keep messages concise, include clear calls to action, personalize content, and maintain consistent branding. Limit marketing messages, respect local holidays and cultural events, support both English and siSwati, and prioritize user experience.

Where can I find more information on Swaziland's communication regulations?

Refer to the Swaziland Communications Commission (ESCCOM) official website and their specific guidelines and legal resources. These resources provide detailed information on regulations, best practices, and local telecommunications laws related to SMS messaging.