Check phone number activity, carrier details, line type and more.
Iraq SMS Best Practices, Compliance, and Features
Iraq SMS Market Overview
Locale name:
Iraq
ISO code:
IQ
Region
Middle East & Africa
Mobile country code (MCC)
418
Dialing Code
+964
Market Conditions: Iraq's mobile market is dominated by three major operators: Zain, AsiaCell, and Korek. SMS remains a crucial communication channel for businesses and organizations, particularly for notifications and authentication. While OTT messaging apps like WhatsApp and Telegram are popular among consumers, SMS maintains its importance for business communications due to its reliability and universal reach. Android devices hold a significant market share in Iraq, making SMS an effective channel for reaching a broad audience.
Key SMS Features and Capabilities in Iraq
Iraq supports one-way SMS messaging with concatenation capabilities, though certain features like two-way messaging and MMS are limited or unavailable.
Two-way SMS Support
Two-way SMS is not supported in Iraq. Messages can only be sent one-way from businesses to consumers, limiting interactive messaging capabilities.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported, though availability may vary by sender ID type. Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding and 70 characters for UCS-2 encoding. Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. Messages using Arabic or special characters will automatically use UCS-2 encoding, reducing the character limit per segment.
MMS Support
MMS messages are not directly supported in Iraq. When MMS content is sent, it is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures message delivery while providing access to rich media content.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Iraq. Mobile numbers remain tied to their original network operators, which helps ensure reliable message routing.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Iraq. Attempts to send messages to landline numbers will result in delivery failure with a 400 response error (code 21614). These messages will not appear in logs and accounts will not be charged.
Compliance and Regulatory Guidelines for SMS in Iraq
SMS communications in Iraq are regulated by the Communications and Media Commission (CMC). While specific SMS marketing regulations are still evolving, businesses must follow general telecommunications guidelines and international best practices for messaging.
Consent and Opt-In
Explicit Consent Requirements:
Obtain clear, documented opt-in consent before sending any marketing messages
Maintain detailed records of when and how consent was obtained
Include your business name and purpose in the initial opt-in request
Provide clear terms and conditions regarding message frequency and content
Best Practices for Consent Collection:
Use double opt-in verification for marketing lists
Store consent records with timestamp and source
Regularly clean and update subscriber lists
Document opt-in language and methods used
HELP/STOP and Other Commands
All SMS campaigns must support standard opt-out keywords (STOP, CANCEL, END, UNSUBSCRIBE)
HELP/INFO commands should provide service information and support contact details
Support both English and Arabic keywords for opt-out functionality
Implement immediate processing of opt-out requests
Do Not Call / Do Not Disturb Registries
Iraq does not currently maintain a centralized Do Not Call registry. However, businesses should:
Maintain their own suppression lists of opted-out numbers
Honor opt-out requests within 24 hours
Regularly clean contact lists against internal opt-out databases
Implement systems to prevent messaging to previously opted-out numbers
Time Zone Sensitivity
Iraq follows Arabia Standard Time (AST/UTC+3). Best practices include:
Sending messages between 9:00 AM and 8:00 PM local time
Avoiding message delivery during prayer times
Respecting religious observances (especially during Ramadan)
Limiting non-urgent messages to business days (Sunday-Thursday in Iraq)
Phone Numbers Options and SMS Sender Types for Iraq
Alphanumeric Sender ID
Operator network capability: Fully supported across major networks Registration requirements: Pre-registration not required, but recommended Sender ID preservation: Yes, sender IDs are preserved when properly formatted
Additional Considerations:
Maximum length: 11 characters
Must represent your business name or brand
Avoid generic terms or misleading identifiers
Special characters and spaces not recommended
Long Codes
Domestic vs. International:
Domestic long codes not supported
International long codes supported with limitations
Sender ID preservation: No, international numbers may be converted to local format Provisioning time: N/A Use cases: Not recommended for primary messaging; use alphanumeric sender IDs instead
Short Codes
Support: Not currently available in Iraq Provisioning time: N/A Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Content Types:
Gambling and betting services
Adult content or explicit material
Political messaging without proper authorization
Cryptocurrency and unauthorized financial services
Religious content without proper permissions
Content Filtering
Known Carrier Filters:
Messages containing certain keywords in Arabic or English
URLs from suspicious or blacklisted domains
High-frequency messaging patterns
Generic or numeric sender IDs
Best Practices to Avoid Filtering:
Use registered alphanumeric sender IDs
Avoid URL shorteners in messages
Maintain consistent sending patterns
Include clear business identifier in messages
Best Practices for Sending SMS in Iraq
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-action in each message
Use personalization (customer name, relevant details)
Maintain consistent sender ID across campaigns
Sending Frequency and Timing
Limit to 3-4 messages per week per recipient
Avoid sending during religious holidays
Space out bulk campaigns to prevent network congestion
Monitor delivery rates for optimal timing
Localization
Support both Arabic and English content
Use proper character encoding for Arabic text
Consider cultural sensitivities in message content
Provide customer support in both languages
Opt-Out Management
Process opt-outs within 24 hours
Maintain centralized opt-out database
Include opt-out instructions in messages
Regular audit of opt-out compliance
Testing and Monitoring
Test messages across all major carriers
Monitor delivery rates by carrier
Track engagement metrics when possible
Regular testing of opt-out functionality
SMS API integrations for Iraq
Twilio
Twilio provides robust SMS capabilities for sending messages to Iraq through their REST API.
Key Integration Points:
Authentication using Account SID and Auth Token
Support for alphanumeric sender IDs
Automatic handling of concatenated messages
Delivery receipt webhooks
import{ Twilio }from'twilio';// Initialize the clientconst client =newTwilio( process.env.TWILIO_ACCOUNT_SID,// Your Account SID process.env.TWILIO_AUTH_TOKEN// Your Auth Token);asyncfunctionsendSMSToIraq(){try{// Send message with proper Iraq formattingconst message =await client.messages.create({ body:'Your message in English or Arabic', from:'YourBrand',// Alphanumeric sender ID to:'+964xxxxxxxxx'// Iraq number format});// Log successconsole.log(`Message sent successfully! SID: ${message.sid}`);return message;}catch(error){// Handle errors appropriatelyconsole.error('Error sending message:', error);throw error;}}
Sinch
Sinch offers direct operator connections in Iraq with support for alphanumeric sender IDs.
Key Integration Points:
API key authentication
Batch messaging support
Delivery status callbacks
Unicode support for Arabic text
import{ SinchClient }from'@sinch/sdk-core';// Initialize Sinch clientconst sinchClient =newSinchClient({ projectId:'YOUR_PROJECT_ID', apiToken:'YOUR_API_TOKEN'});asyncfunctionsendBatchMessages(){try{const response =await sinchClient.sms.batches.send({ from:'CompanyName',// Your sender ID to:['+964xxxxxxxxx'],// Array of Iraqi numbers body:'Your message content',// Optional parameters for Iraq encoding:'AUTO',// Handles Arabic text automatically deliveryReport:'FULL'});console.log('Batch ID:', response.id);return response;}catch(error){console.error('Batch sending failed:', error);throw error;}}
MessageBird
MessageBird provides reliable SMS delivery to Iraq with comprehensive delivery reporting.
Key Integration Points:
REST API with API key authentication
Support for multiple character encodings
Scheduled message delivery
Detailed delivery reports
import messagebird from'messagebird';// Initialize MessageBird clientconst mbClient =messagebird('YOUR_API_KEY');// Function to send SMS to IraqfunctionsendMessageToIraq( recipient:string, message:string, senderId:string):Promise<any>{returnnewPromise((resolve, reject)=>{ mbClient.messages.create({ originator: senderId,// Your sender ID recipients:[recipient],// Iraq number with +964 body: message,// Optional parameters datacoding:'unicode',// For Arabic text reportUrl:'YOUR_WEBHOOK_URL'},(err, response)=>{if(err){reject(err);return;}resolve(response);});});}
API Rate Limits and Throughput
Rate Limits:
Twilio: 250 messages per second
Sinch: 100 messages per second
MessageBird: 60 messages per second
Throughput Management Strategies:
Implement exponential backoff for retries
Use batch APIs for bulk sending
Queue messages during peak times
Monitor delivery rates by carrier
Error Handling and Reporting
Common Error Scenarios:
Invalid sender ID format
Network connectivity issues
Rate limit exceeded
Invalid recipient number
Best Practices:
// Example error handling implementationasyncfunctionsendSMSWithRetry( recipient:string, message:string, maxRetries =3):Promise<void>{let attempts =0;while(attempts < maxRetries){try{awaitsendSMS(recipient, message);return;}catch(error){ attempts++;if(error.code ==='RATE_LIMIT_EXCEEDED'){// Wait exponentially longer between retriesawaitdelay(Math.pow(2, attempts)*1000);continue;}if(error.code ==='INVALID_RECIPIENT'){// Don't retry invalid numbersconsole.error(`Invalid recipient: ${recipient}`);break;}if(attempts === maxRetries){console.error(`Failed to send after ${maxRetries} attempts`);throw error;}}}}
Recap and Additional Resources
Key Takeaways
Compliance Priorities:
Obtain explicit consent
Honor opt-out requests
Respect time zone restrictions
Maintain proper sender ID format
Technical Considerations:
Use alphanumeric sender IDs
Support Arabic character encoding
Implement proper error handling
Monitor delivery rates
Best Practices:
Test thoroughly before bulk sending
Maintain clean subscriber lists
Document consent and opt-outs
Regular monitoring and reporting
Next Steps
Review the Communications and Media Commission (CMC) regulations