Send SMS to Montenegro: Complete API Guide & Compliance (2025)
Send SMS to Montenegro with complete compliance guidance. Learn LPPI regulations, carrier requirements for T-Mobile, One Montenegro & M:tel, plus working API code examples.
Market Conditions: Operate in a mature mobile telecommunications market with penetration rates exceeding 225% – 1.41 million connections serving 626,000 residents as of 2024, reflecting heavy tourist SIM uptake. Montenegro operates as a tri-opoly with three nationwide operators: Crnogorski Telekom (T-Mobile Montenegro), One Montenegro (formerly Telenor, rebranded under 4iG ownership in 2025), and M:tel Montenegro. Source: Analysys Mason, 2025. Market share remains relatively balanced: M:tel (34.61%), Crnogorski Telekom (34.27%), and One Montenegro (31.12%) as of 2021. While OTT messaging apps like WhatsApp and Viber dominate personal communications, SMS remains the critical channel for business communications and authentication services.
Key SMS Features and Capabilities in Montenegro
Work with basic SMS functionality that has specific limitations on advanced features. Understand these capabilities and restrictions before implementing SMS services.
Two-way SMS Support
Status: Not supported in Montenegro.
Two-way SMS is not supported in Montenegro. Source: Twilio Montenegro SMS Guidelines, 2024. Design SMS strategies around one-way communications and implement alternative channels – web forms, email, or app notifications – for receiving customer responses.
Alternative Solutions:
Use web forms with unique tracking codes sent via SMS
Implement app-based notifications with in-app responses
Set up dedicated email addresses referenced in SMS messages
Messages exceeding these limits split automatically into multiple segments
Encoding considerations: Use either GSM-7 or UCS-2 encoding. Recipient devices reassemble concatenated messages automatically, allowing longer content delivery while maintaining standard SMS infrastructure.
MMS messages convert automatically to SMS with an embedded URL link. This conversion ensures recipients can still access rich media content, though not in native MMS format. Use short URLs and include clear instructions for accessing content to optimize delivery.
Montenegro fully implements mobile number portability (MNP) through EKIP (Agency for Electronic Communications and Postal Services). Recipients can switch operators while keeping their existing numbers. Over 95,000 numbers have been ported in Montenegro as of late 2023, with approximately 10,000 ports occurring in 2022 alone. [Source: MNP Statistics, 2023]
Porting process: Expect 3 business days maximum. EKIP maintains an automated system to verify porting eligibility and provides consumer protection guidelines.
Implementation note: MNP covers mobile numbers fully, but fixed-line number portability remains limited – consult your service provider for availability.
Sending SMS to Landlines
SMS cannot be sent to landline numbers in Montenegro. Attempts fail with a 400 response (error code 21614). These messages do not appear in logs and do not incur charges.
SMS Compliance and Regulatory Requirements in Montenegro
Comply with Montenegro's Personal Data Protection Law (PDPL, also known as LPPI – Law 79/2008, 70/2009, 44/2012, and 22/2017), last amended on July 31, 2024. While modeled after the EU Data Protection Directive (95/46/EC) rather than GDPR, this law incorporates similar principles for data protection and privacy. The Agency for Personal Data Protection (AZLP) serves as the primary regulatory authority. Source: DLA Piper Data Protection Laws, 2024
GDPR Alignment Status (2024): Montenegro's current PDPL is not yet fully compliant with GDPR. A new data protection law is under development to harmonize with EU GDPR requirements, though the adoption timeline remains uncertain. July 2024 amendments moved toward further alignment. Source: Chambers and Partners, 2024
Telecommunications Oversight: EKIP (Agency for Electronic Communications and Postal Services) regulates telecommunications services, including SMS, spectrum allocation, and quality standards. Source: EKIP, 2024
Consent and Opt-In Requirements
Explicit Consent Requirements:
Obtain written or electronic consent before sending marketing messages
Maintain consent records and keep them easily accessible
State your communication purpose clearly during opt-in
Use clear and unambiguous consent language
Best Practices for Documentation:
Store timestamp and source of each consent
Maintain detailed records of opt-in methods
Audit consent databases regularly
Enable double opt-in for additional security
HELP/STOP and Other Commands
Support STOP, CANCEL, END, and UNSUBSCRIBE commands
Provide service information for HELP or INFO commands
Recognize commands in both Latin and Cyrillic scripts
Support both Montenegrin and English language responses
Do Not Call / Do Not Disturb Registries
Montenegro does not maintain an official Do Not Call registry. Follow these practices instead:
Maintain internal suppression lists
Honor opt-out requests within 24 hours
Document all opt-out requests
Clean contact databases regularly
Time Zone Sensitivity
Montenegro observes Central European Time (CET/CEST). While no strict legal restrictions govern SMS timing, follow these guidelines:
Recommended sending window: 8:00 AM – 8:00 PM local time
Avoid sending during: Public holidays, weekends (unless urgent)
Emergency messages: Send 24/7 if truly urgent
Montenegro Phone Numbers and SMS Sender ID Options
Alphanumeric Sender ID
Operator network capability: Supported
Registration requirements: No pre-registration required
Sender ID preservation: Yes, operators preserve sender IDs as sent
Dynamic usage: Supported with no pre-registration needed
Character limits: 3–11 characters (alphanumeric only, no spaces)
Format requirements: Letters only, no numbers or special characters
Good sender ID examples: "YourBrand", "MyCompany", "BankAlert"
Bad sender ID examples: "Your Brand" (space), "Brand123" (numbers), "Company!" (special character)
Long Codes
Domestic vs. International:
Domestic: Fully supported
International: Limited support
Sender ID preservation: Yes, operators preserve original sender IDs
Provisioning time: 1–2 business days for domestic numbers
Use cases:
Two-factor authentication
Transactional messages
Customer support
Short Codes
Support: Not currently supported in Montenegro
Provisioning time: N/A
Use cases: N/A
Alternative solutions: Use alphanumeric sender IDs or long codes for similar functionality. Short codes may become available as Montenegro's telecom infrastructure continues to develop.
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
Gambling and betting services
Adult content
Cryptocurrency promotions
Unauthorized financial services
Regulated Industries:
Banking (requires regulatory approval)
Healthcare (patient privacy requirements)
Insurance (compliance with financial regulations)
Content Filtering
Known Carrier Filters:
URLs from suspicious domains
Excessive punctuation
All-capital messages
Multiple consecutive spaces
Best Practices:
Avoid URL shorteners from untrusted domains
Use clear, professional language
Limit special characters to standard punctuation
Include clear sender identification in every message
Specific guidelines:
Excessive punctuation: More than 3 consecutive punctuation marks (e.g., "!!!" or "???")
Suspicious domains: Unregistered or recently created domains, free URL shorteners
All-capital messages: Entire message in uppercase (use sentence case instead)
Best Practices for Sending SMS in Montenegro
Messaging Strategy
Keep messages under 160 characters
Include clear calls-to-action
Use personalization tokens wisely
Maintain consistent brand voice
Sending Frequency and Timing
Send maximum 2–3 marketing messages per week per recipient
Respect local holidays and cultural events (Statehood Day, Independence Day)
Implement frequency capping in your sending system
Use an SMS API like Twilio, Sinch, or Bird, ensuring the recipient's number is in E.164 format (+382...). Due to two-way SMS limitations, design communications for one-way delivery and use alternative channels for responses. Remember to comply with local regulations, like the Law on Protection of Personal Data (LPPI).
Standard SMS length limits apply: 160 characters for GSM-7 encoding and 70 characters for Unicode. Concatenated messages are not supported, so ensure your message content fits within a single SMS.
Montenegro's data privacy is governed by the LPPI. You must obtain explicit consent for marketing messages, honor opt-out requests (STOP, CANCEL, etc.) within 24 hours, and maintain detailed records of consent and opt-outs. Adhere to best practices regarding data privacy even though there isn't a formal Do Not Call list.
MMS messages are automatically converted to SMS with a URL link due to limitations with native MMS support. The conversion allows sharing rich media through an accessible link, and using short URLs is recommended for better delivery.
The suggested sending window is between 8:00 AM and 8:00 PM local time (CET/CEST). Avoid sending messages during public holidays and weekends unless it's an urgent communication, while emergency messages can be sent 24/7.
Process opt-out requests within 24 hours, and recognize commands like STOP, CANCEL, END, and UNSUBSCRIBE in both Latin and Cyrillic scripts. Maintain a central opt-out database, confirm the opt-out with a final message, and regularly clean your contact database.
Yes, alphanumeric sender IDs are supported and do not require pre-registration. They are preserved as sent and can be used dynamically. This offers flexibility for branding your SMS messages.
Shortcodes aren't supported in Montenegro. Use long codes for two-factor authentication, transactional messages, and customer support, with domestic long codes being fully supported and international ones having limited support.
Restricted content includes gambling, adult material, cryptocurrency promotions, and unauthorized financial services. Regulated industries like banking, healthcare, and insurance require specific regulatory approvals and compliance measures.
Twilio, Sinch, and Bird offer SMS API integrations for sending messages to Montenegro. Each platform provides different features, like alphanumeric sender ID support or message scheduling, with varying rate limits and throughput capacities.
Implement rate limiting in your code to avoid exceeding the per-second message limits set by providers like Twilio, Sinch, or Bird. Use queuing mechanisms and timers to control the sending frequency and ensure efficient delivery.
Use Montenegrin as the primary language and consider bilingual messages (Montenegrin/English). Support both Latin and Cyrillic scripts in your messages while being mindful of local cultural nuances. Respect local time zones for optimal message delivery times.
Use E.164 number formatting for recipient numbers. Implement rate limiting to manage API throughput. Monitor delivery rates and track engagement metrics for optimization. Thoroughly test your SMS setup across all major Montenegrin carriers.
Consult the Agency for Electronic Communications and Postal Services (EKIP), the Data Protection Law of Montenegro, and the Electronic Communications Law for detailed information regarding compliance and regulations for SMS messaging.
Montenegro SMS Market Overview
Market Conditions: Operate in a mature mobile telecommunications market with penetration rates exceeding 225% – 1.41 million connections serving 626,000 residents as of 2024, reflecting heavy tourist SIM uptake. Montenegro operates as a tri-opoly with three nationwide operators: Crnogorski Telekom (T-Mobile Montenegro), One Montenegro (formerly Telenor, rebranded under 4iG ownership in 2025), and M:tel Montenegro. Source: Analysys Mason, 2025. Market share remains relatively balanced: M:tel (34.61%), Crnogorski Telekom (34.27%), and One Montenegro (31.12%) as of 2021. While OTT messaging apps like WhatsApp and Viber dominate personal communications, SMS remains the critical channel for business communications and authentication services.
Key SMS Features and Capabilities in Montenegro
Work with basic SMS functionality that has specific limitations on advanced features. Understand these capabilities and restrictions before implementing SMS services.
Two-way SMS Support
Status: Not supported in Montenegro.
Two-way SMS is not supported in Montenegro. Source: Twilio Montenegro SMS Guidelines, 2024. Design SMS strategies around one-way communications and implement alternative channels – web forms, email, or app notifications – for receiving customer responses.
Alternative Solutions:
Concatenated Messages (Segmented SMS)
Support: Yes. Send concatenated messages in Montenegro. Source: Twilio Montenegro SMS Guidelines, 2024
Message length rules:
Encoding considerations: Use either GSM-7 or UCS-2 encoding. Recipient devices reassemble concatenated messages automatically, allowing longer content delivery while maintaining standard SMS infrastructure.
Character count examples:
MMS Support
MMS messages convert automatically to SMS with an embedded URL link. This conversion ensures recipients can still access rich media content, though not in native MMS format. Use short URLs and include clear instructions for accessing content to optimize delivery.
Best practices for MMS-to-SMS conversion:
Recipient Phone Number Compatibility
Number Portability
Status: Available in Montenegro.
Montenegro fully implements mobile number portability (MNP) through EKIP (Agency for Electronic Communications and Postal Services). Recipients can switch operators while keeping their existing numbers. Over 95,000 numbers have been ported in Montenegro as of late 2023, with approximately 10,000 ports occurring in 2022 alone. [Source: MNP Statistics, 2023]
Porting process: Expect 3 business days maximum. EKIP maintains an automated system to verify porting eligibility and provides consumer protection guidelines.
Implementation note: MNP covers mobile numbers fully, but fixed-line number portability remains limited – consult your service provider for availability.
Sending SMS to Landlines
SMS cannot be sent to landline numbers in Montenegro. Attempts fail with a 400 response (error code 21614). These messages do not appear in logs and do not incur charges.
SMS Compliance and Regulatory Requirements in Montenegro
Comply with Montenegro's Personal Data Protection Law (PDPL, also known as LPPI – Law 79/2008, 70/2009, 44/2012, and 22/2017), last amended on July 31, 2024. While modeled after the EU Data Protection Directive (95/46/EC) rather than GDPR, this law incorporates similar principles for data protection and privacy. The Agency for Personal Data Protection (AZLP) serves as the primary regulatory authority. Source: DLA Piper Data Protection Laws, 2024
GDPR Alignment Status (2024): Montenegro's current PDPL is not yet fully compliant with GDPR. A new data protection law is under development to harmonize with EU GDPR requirements, though the adoption timeline remains uncertain. July 2024 amendments moved toward further alignment. Source: Chambers and Partners, 2024
Telecommunications Oversight: EKIP (Agency for Electronic Communications and Postal Services) regulates telecommunications services, including SMS, spectrum allocation, and quality standards. Source: EKIP, 2024
Consent and Opt-In Requirements
Explicit Consent Requirements:
Best Practices for Documentation:
HELP/STOP and Other Commands
Do Not Call / Do Not Disturb Registries
Montenegro does not maintain an official Do Not Call registry. Follow these practices instead:
Time Zone Sensitivity
Montenegro observes Central European Time (CET/CEST). While no strict legal restrictions govern SMS timing, follow these guidelines:
Montenegro Phone Numbers and SMS Sender ID Options
Alphanumeric Sender ID
Operator network capability: Supported Registration requirements: No pre-registration required Sender ID preservation: Yes, operators preserve sender IDs as sent Dynamic usage: Supported with no pre-registration needed Character limits: 3–11 characters (alphanumeric only, no spaces) Format requirements: Letters only, no numbers or special characters
Good sender ID examples: "YourBrand", "MyCompany", "BankAlert" Bad sender ID examples: "Your Brand" (space), "Brand123" (numbers), "Company!" (special character)
Long Codes
Domestic vs. International:
Sender ID preservation: Yes, operators preserve original sender IDs Provisioning time: 1–2 business days for domestic numbers Use cases:
Short Codes
Support: Not currently supported in Montenegro Provisioning time: N/A Use cases: N/A
Alternative solutions: Use alphanumeric sender IDs or long codes for similar functionality. Short codes may become available as Montenegro's telecom infrastructure continues to develop.
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
Regulated Industries:
Content Filtering
Known Carrier Filters:
Best Practices:
Specific guidelines:
Best Practices for Sending SMS in Montenegro
Messaging Strategy
Sending Frequency and Timing
Localization
Translation guidelines:
Opt-Out Management
Testing and Monitoring
Key performance indicators:
How to Send SMS to Montenegro Using APIs
Send SMS via Twilio API
Send messages to Montenegro using Twilio's SMS API through their global network.
Authentication & Setup:
import * as Twilio from 'twilio'; // Initialize Twilio client const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, // Your Account SID process.env.TWILIO_AUTH_TOKEN // Your Auth Token ); // Send SMS to Montenegro async function sendSMSToMontenegro() { try { const message = await client.messages.create({ body: 'Your message in Latin/Cyrillic script', from: 'YOUR_TWILIO_NUMBER', // Your Twilio phone number to: '+38269123456' // Montenegro number in E.164 format }); console.log(`Message sent successfully: ${message.sid}`); return message; } catch (error) { console.error('Error sending message:', error); throw error; } }Send SMS via Sinch API
Connect directly to Montenegro operators using Sinch to achieve high delivery rates.
Authentication & Setup:
import { Sms } from '@sinch/sdk-core'; // Initialize Sinch client const smsClient = new Sms({ servicePlanId: 'YOUR_SERVICE_PLAN_ID', apiToken: 'YOUR_API_TOKEN' }); // Send SMS using Sinch async function sendSinchSMS() { try { const response = await smsClient.batches.send({ from: 'YourBrand', // Alphanumeric sender ID to: ['+38269123456'], // Montenegro number body: 'Your message here', delivery_report: 'summary' // Get delivery status }); console.log(`Batch ID: ${response.id}`); return response; } catch (error) { console.error('Sinch SMS Error:', error); throw error; } }Send SMS via Bird API
Integrate Bird's API for Montenegro messaging.
Authentication & Setup:
import axios from 'axios'; // Bird API configuration const BIRD_API_CONFIG = { workspaceId: 'YOUR_WORKSPACE_ID', channelId: 'YOUR_CHANNEL_ID', accessKey: 'YOUR_ACCESS_KEY' }; // Send SMS using Bird async function sendBirdSMS() { try { const response = await axios.post( `https://api.bird.com/workspaces/${BIRD_API_CONFIG.workspaceId}/messages`, { receiver: { contacts: [{ identifierValue: '+38269123456' }] }, body: { type: 'text', text: { text: 'Your message content' } } }, { headers: { 'Authorization': `AccessKey ${BIRD_API_CONFIG.accessKey}`, 'Content-Type': 'application/json' } } ); return response.data; } catch (error) { console.error('Bird API Error:', error); throw error; } }API Rate Limits and Throughput
Rate Limits:
Throughput Management:
// Example rate limiting implementation class RateLimiter { private queue: Array<() => Promise<any>> = []; private processing = false; private rateLimit: number; private interval: number; constructor(rateLimit: number, interval: number) { this.rateLimit = rateLimit; this.interval = interval; } async process() { if (this.processing) return; this.processing = true; while (this.queue.length > 0) { const batch = this.queue.splice(0, this.rateLimit); await Promise.all(batch.map(task => task())); await new Promise(resolve => setTimeout(resolve, this.interval)); } this.processing = false; } add(task: () => Promise<any>) { this.queue.push(task); this.process(); } }Error Handling and Reporting
// Error handling utility interface SMSError { code: string; message: string; timestamp: Date; provider: string; } class SMSErrorHandler { static async handleError(error: any, provider: string): Promise<SMSError> { const errorLog: SMSError = { code: error.code || 'UNKNOWN', message: error.message, timestamp: new Date(), provider }; // Log error to monitoring system await this.logError(errorLog); return errorLog; } private static async logError(error: SMSError): Promise<void> { // Implement your logging logic here console.error('SMS Error:', error); } }Summary: Sending SMS to Montenegro
Key Takeaways
Compliance Priorities
Technical Best Practices
Localization Requirements
Next Steps
Additional Resources