Check phone number activity, carrier details, line type and more.
Singapore SMS Best Practices, Compliance, and Features
Singapore SMS Market Overview
Locale name:
Singapore
ISO code:
SG
Region
Asia
Mobile country code (MCC)
525
Dialing Code
+65
Market Conditions: Singapore has a highly developed mobile market with near-universal smartphone penetration. While OTT messaging apps like WhatsApp and LINE are extremely popular, SMS remains critical for business communications, especially for authentication, notifications, and marketing. The market is dominated by three major mobile operators: Singtel, StarHub, and M1. Android devices hold approximately 60% market share, with iOS devices accounting for most of the remainder.
Key SMS Features and Capabilities in Singapore
Singapore offers robust SMS capabilities with support for concatenated messages and alphanumeric sender IDs, though two-way messaging functionality is limited.
Two-way SMS Support
Two-way SMS is not supported in Singapore through most A2P channels. Businesses requiring two-way communication typically need to use alternative methods or dedicated solutions.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported for most sender ID types, though support may vary based on the specific sender ID type used.
Message length rules: Messages are limited to 160 ASCII characters before splitting occurs. Messages using GSM-7 encoding can contain up to 160 characters in a single SMS, while those using UCS-2 encoding are limited to 70 characters.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. GSM-7 is recommended for basic Latin alphabet messages to maximize character count, while UCS-2 is required for messages containing Chinese characters or other special characters.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures delivery compatibility while still allowing rich media content to be shared through linked web pages. Best practice is to use short URLs and include clear context in the SMS portion of the message.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Singapore. This means subscribers can keep their phone numbers when switching between mobile operators. While this doesn't significantly affect message delivery or routing, it's important to maintain updated routing tables to ensure optimal delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Singapore. Attempts to send messages to landline numbers will result in a 400 response with error code 21614. These messages will not appear in logs and accounts will not be charged for failed delivery attempts.
Compliance and Regulatory Guidelines for SMS in Singapore
Singapore maintains strict regulations for SMS communications, primarily governed by the Infocomm Media Development Authority (IMDA) and the Personal Data Protection Commission (PDPC). All organizations must comply with both the Spam Control Act 2007 and the Personal Data Protection Act 2012 (PDPA).
Consent and Opt-In
Explicit Consent Requirements:
Written or verbal consent must be obtained before sending marketing messages
Consent must be documented and stored for verification purposes
Purpose of messaging must be clearly stated during opt-in
Consent records should include timestamp, source, and scope of permission
Best Practices for Obtaining Consent:
Use double opt-in processes for marketing lists
Provide clear terms and conditions during signup
Maintain detailed consent logs with IP addresses and timestamps
Regular audit and cleanup of consent records
HELP/STOP and Other Commands
All marketing messages must include opt-out instructions
Standard keywords that must be supported:
"STOP" - Unsubscribe from all messages
"HELP" - Receive information about the service
"UNSUBSCRIBE" - Alternative to STOP
Messages should support both English and Chinese commands
Responses to these commands must be immediate and free of charge
Do Not Call / Do Not Disturb Registries
Singapore maintains an active Do Not Call (DNC) Registry under the PDPA:
Organizations must check numbers against the DNC Registry before sending marketing messages
Checking frequency: At least once every 30 days
Penalties for non-compliance: Up to SGD 10,000 per violation
Best Practice: Implement automated DNC checking before each campaign
Time Zone Sensitivity
Singapore follows the GMT+8 timezone (SGT). While there are no strict legal restrictions on messaging hours, follow these best practices:
Recommended Sending Hours: 9:00 AM to 9:00 PM SGT
Avoid Sending: Public holidays, early mornings, and late nights
Exception: Critical service updates or emergency notifications
Phone Numbers Options and SMS Sender Types for Singapore
Alphanumeric Sender ID
Operator network capability: Fully supported across all major carriers
Registration requirements:
Mandatory registration with Singapore SMS Sender ID Registry (SSIR)
Pre-registration required with 5-day processing time
One-time setup fee: SGD 500
Annual charge per Sender ID: SGD 200
Sender ID preservation:
Registered IDs are preserved
Unregistered IDs are replaced with "Likely-SCAM" as of January 30, 2023
Long Codes
Domestic vs. International:
Domestic: Supported but requires registration
International: Not supported as of January 2023
Sender ID preservation:
Domestic: Preserved if registered
International: Overwritten with "Likely-SCAM"
Provisioning time: Immediate for international, 5-7 business days for domestic registration
Use cases:
Domestic: Customer service, notifications
Not recommended for P2P messaging
Short Codes
Support: Available through major carriers
Provisioning time: 8-12 weeks
Use cases:
High-volume marketing campaigns
Two-factor authentication
Customer service
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
Gambling and betting
Adult content
Religious or political messages
Money lending/loan services
Controlled substances
Cannabis products
Alcohol-related content
WhatsApp/LINE chat links
Content Filtering
Carrier Filtering Rules:
Messages containing prohibited keywords are blocked
URLs must be from approved domains
Message content is scanned for compliance
Tips to Avoid Blocking:
Avoid excessive punctuation
Don't use all caps
Limit URL usage to necessary links
Use registered short URLs
Avoid common spam trigger words
Best Practices for Sending SMS in Singapore
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-actions
Use personalization tokens thoughtfully
Maintain consistent sender ID across campaigns
Sending Frequency and Timing
Limit to 4-6 messages per month per recipient
Respect Singapore public holidays
Schedule around peak business hours
Space out messages to avoid overwhelming recipients
Localization
Support both English and Chinese
Use simplified Chinese characters when appropriate
Consider cultural sensitivities in content
Include both English and Chinese opt-out instructions
Opt-Out Management
Process opt-outs within 24 hours
Maintain centralized opt-out database
Confirm opt-outs with acknowledgment message
Regular audit of opt-out list compliance
Testing and Monitoring
Test across all three major carriers (Singtel, StarHub, M1)
Monitor delivery rates by carrier
Track opt-out rates and patterns
Regular A/B testing of message content
Monitor for carrier filtering changes
SMS API integrations for Singapore
Twilio
Twilio provides a robust SMS API with specific support for Singapore's compliance requirements. Integration requires your Account SID and Auth Token from the Twilio Console.
Key Parameters:
from: Registered alphanumeric sender ID or Twilio phone number
to: Recipient number in E.164 format (+65XXXXXXXX)
body: Message content (max 1600 characters)
import{ Twilio }from'twilio';// Initialize Twilio clientconst client =newTwilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);asyncfunctionsendSMSSingapore( to:string, message:string, senderId:string):Promise<void>{try{// Validate Singapore phone number formatif(!to.startsWith('+65')){thrownewError('Singapore numbers must start with +65');}const response =await client.messages.create({ from: senderId,// Your registered Sender ID to: to,// Recipient number body: message,// Message content// Optional parameters for delivery tracking statusCallback:'https://your-webhook.com/status'});console.log(`Message sent successfully! SID: ${response.sid}`);}catch(error){console.error('Error sending message:', error);throw error;}}
Sinch
Sinch offers a REST API for SMS delivery in Singapore, requiring API Token and Service Plan ID authentication.