Market Conditions: Bulgaria has a mature mobile market with high SMS adoption rates. The country's main mobile operators include A1 Bulgaria, Telenor Bulgaria, and Vivacom. While OTT messaging apps like WhatsApp and Viber are popular, SMS remains crucial for business communications and authentication purposes. The market shows a relatively even split between Android and iOS users, with Android having a slight edge in market share.
Key SMS Features and Capabilities in Bulgaria
Bulgaria supports most standard SMS features including concatenated messages and number portability, though two-way SMS functionality is limited.
Two-way SMS Support
Two-way SMS is not supported in Bulgaria through major SMS providers. This limitation affects interactive messaging campaigns and automated response systems.
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, 70 characters for UCS-2 encoding. Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. Messages using special characters will automatically use UCS-2 encoding, reducing the character limit per segment.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures delivery while maintaining rich media sharing capabilities through web-based content delivery.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Bulgaria. This feature allows users to keep their phone numbers when switching between mobile operators, with minimal impact on SMS delivery or routing.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Bulgaria. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (code 21614) through SMS APIs.
Compliance and Regulatory Guidelines for SMS in Bulgaria
Bulgaria follows EU telecommunications regulations and GDPR requirements for SMS communications. The Communications Regulation Commission (CRC) oversees telecommunications activities, while the Commission for Personal Data Protection (CPDP) enforces data privacy regulations.
Consent and Opt-In
Explicit Consent Requirements:
Written or electronic consent must be obtained before sending marketing messages
Consent records must be maintained and easily accessible
Purpose of communication must be clearly stated during opt-in
Double opt-in recommended for marketing campaigns
HELP/STOP and Other Commands
STOP commands must be supported in both Bulgarian and English
Common keywords include: STOP, ??????????, ????????
All marketing messages must include opt-out instructions
HELP responses should be provided in Bulgarian by default
Do Not Call / Do Not Disturb Registries
Bulgaria does not maintain a centralized Do Not Call registry. However, businesses must:
Maintain their own suppression lists
Honor opt-out requests within 24 hours
Keep records of opted-out numbers for at least 2 years
Regularly clean contact lists against internal opt-out databases
Time Zone Sensitivity
Bulgaria observes Eastern European Time (EET/EEST). Best practices include:
Sending messages between 9:00 AM and 8:00 PM local time
Avoiding messages on national holidays
Limiting urgent messages outside business hours to genuine emergencies
Phone Numbers Options and SMS Sender Types for in Bulgaria
Alphanumeric Sender ID
Operator network capability: Supported Registration requirements: Pre-registration not required, but dynamic usage is supported Sender ID preservation: Yes, except for A1 and Vivacom Bulgaria where generic Alphanumeric IDs may be used
Long Codes
Domestic vs. International:
Domestic long codes not supported
International long codes supported
Sender ID preservation: No, international numbers may be overwritten with generic Alphanumeric IDs Provisioning time: Immediate to 24 hours Use cases: Transactional messages, alerts, and notifications
Short Codes
Support: Not currently supported in Bulgaria Provisioning time: N/A Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
Unauthorized gambling services
Adult content or services
Unlicensed financial services
Cryptocurrency promotions without proper disclaimers
Unauthorized pharmaceutical products
Content Filtering
Carrier Filtering Rules:
Messages containing certain keywords may be blocked
URLs should be from reputable domains
Avoid excessive capitalization and special characters
Best Practices to Avoid Filtering:
Use clear, professional language
Avoid spam trigger words
Include company name in sender ID
Keep URLs short and legitimate
Best Practices for Sending SMS in Bulgaria
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-actions
Personalize messages using recipient's name or preferences
Maintain consistent brand voice
Sending Frequency and Timing
Limit to 2-4 messages per month per recipient
Respect Bulgarian holidays and Orthodox Christian observances
Avoid weekends unless specifically requested
Space out messages to prevent recipient fatigue
Localization
Primary language should be Bulgarian
Consider dual-language messages for international businesses
Use proper character encoding for Cyrillic alphabet
Respect local cultural nuances and customs
Opt-Out Management
Process opt-outs immediately
Maintain clear opt-out records
Provide confirmation of successful opt-out
Regular audit of opt-out lists
Testing and Monitoring
Test across all major Bulgarian carriers (A1, Telenor, Vivacom)
Monitor delivery rates by carrier
Track engagement metrics
Regular testing of opt-out functionality
SMS API integrations for Bulgaria
Twilio
Twilio provides a robust SMS API with comprehensive support for Bulgarian numbers. Here's how to implement it:
TypeScript
import * asTwiliofrom'twilio';
// Initialize client with your credentialsconst client = newTwilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to BulgariaasyncfunctionsendBulgarianSMS(to: string,
message: string,
senderId: string) {
try {
// Validate Bulgarian phone number formatif (!to.startsWith('+359')) {
thrownewError('Invalid Bulgarian phone number format');
}
const response = await client.messages.create({
body: message,
to: to, // Bulgarian number in E.164 formatfrom: senderId, // Your registered sender ID// Optional parameters for delivery trackingstatusCallback: 'https://your-webhook.com/status'
});
return response.sid;
} catch (error) {
console.error('SMS sending failed:', error);
throw error;
}
}
Sinch
Sinch offers reliable SMS delivery to Bulgaria with support for Unicode characters:
Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure the recipient's phone number is in E.164 format (+359) and comply with Bulgarian regulations. Consider factors such as sender ID, message encoding, and delivery tracking.
Several providers offer excellent SMS services for Bulgaria, including Twilio, Sinch, MessageBird, and Plivo. The "best" choice depends on specific needs like throughput, features, and pricing. Twilio offers 100 messages per second, Sinch 30, MessageBird 60, and Plivo 50.
Two-way SMS functionality is not fully supported by major SMS providers in Bulgaria. This affects interactive messaging campaigns and automated response systems. You should explore alternative solutions if two-way communication is required for your application.
You must obtain explicit consent before sending marketing messages, which can be written or electronic. Marketing messages must include opt-out instructions in both Bulgarian and English (STOP, ??????????, ????????), with opt-out requests honored within 24 hours.
The best time to send SMS messages is between 9:00 AM and 8:00 PM local time, avoiding national holidays. Limit urgent messages outside these hours to genuine emergencies, and respect Orthodox Christian observances for optimal engagement.
Concatenated SMS messages in Bulgaria follow standard length limits: 160 characters for GSM-7 encoding and 70 characters for UCS-2 encoding. Messages with special characters automatically use UCS-2, reducing the character limit per segment.
Alphanumeric sender IDs are supported but not always preserved. A1 and Vivacom Bulgaria may replace them with generic IDs. Pre-registration is not required, but dynamic usage is supported by operator networks.
No, sending SMS messages to landline numbers in Bulgaria is not possible. Attempts will fail with a 400 response error (code 21614) via SMS APIs. Focus on mobile numbers using the +359 country code.
All marketing SMS must include instructions for opting out using keywords like STOP, ??????????, or ???????? (in Bulgarian and English). HELP responses should be provided in Bulgarian by default, offering assistance and information as needed.
Restricted SMS content includes unauthorized gambling, adult content, unlicensed financial services, cryptocurrency promotions without disclaimers, and unauthorized pharmaceutical products. Carrier filtering may block messages with certain keywords or suspicious URLs.
Process opt-out requests promptly (within 24 hours), maintain clear records for at least 2 years, provide confirmation to users, and regularly audit opt-out lists to ensure ongoing compliance.
MMS messages are automatically converted to SMS with embedded URLs to ensure delivery across all devices. This allows for sharing rich media content via web links while leveraging the broader reach of SMS technology.
Both GSM-7 and UCS-2 encodings are supported for Bulgarian SMS. Using special characters or the Cyrillic alphabet defaults to UCS-2, reducing the characters per segment to 70 instead of 160 with GSM-7.
Always use the E.164 format for Bulgarian phone numbers, starting with the country code +359 followed by the mobile number. This ensures proper routing and compatibility with international SMS gateways.
Bulgaria SMS Market Overview
Market Conditions: Bulgaria has a mature mobile market with high SMS adoption rates. The country's main mobile operators include A1 Bulgaria, Telenor Bulgaria, and Vivacom. While OTT messaging apps like WhatsApp and Viber are popular, SMS remains crucial for business communications and authentication purposes. The market shows a relatively even split between Android and iOS users, with Android having a slight edge in market share.
Key SMS Features and Capabilities in Bulgaria
Bulgaria supports most standard SMS features including concatenated messages and number portability, though two-way SMS functionality is limited.
Two-way SMS Support
Two-way SMS is not supported in Bulgaria through major SMS providers. This limitation affects interactive messaging campaigns and automated response systems.
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, 70 characters for UCS-2 encoding.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. Messages using special characters will automatically use UCS-2 encoding, reducing the character limit per segment.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures delivery while maintaining rich media sharing capabilities through web-based content delivery.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Bulgaria. This feature allows users to keep their phone numbers when switching between mobile operators, with minimal impact on SMS delivery or routing.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Bulgaria. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (code 21614) through SMS APIs.
Compliance and Regulatory Guidelines for SMS in Bulgaria
Bulgaria follows EU telecommunications regulations and GDPR requirements for SMS communications. The Communications Regulation Commission (CRC) oversees telecommunications activities, while the Commission for Personal Data Protection (CPDP) enforces data privacy regulations.
Consent and Opt-In
Explicit Consent Requirements:
HELP/STOP and Other Commands
Do Not Call / Do Not Disturb Registries
Bulgaria does not maintain a centralized Do Not Call registry. However, businesses must:
Time Zone Sensitivity
Bulgaria observes Eastern European Time (EET/EEST). Best practices include:
Phone Numbers Options and SMS Sender Types for in Bulgaria
Alphanumeric Sender ID
Operator network capability: Supported
Registration requirements: Pre-registration not required, but dynamic usage is supported
Sender ID preservation: Yes, except for A1 and Vivacom Bulgaria where generic Alphanumeric IDs may be used
Long Codes
Domestic vs. International:
Sender ID preservation: No, international numbers may be overwritten with generic Alphanumeric IDs
Provisioning time: Immediate to 24 hours
Use cases: Transactional messages, alerts, and notifications
Short Codes
Support: Not currently supported in Bulgaria
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
Content Filtering
Carrier Filtering Rules:
Best Practices to Avoid Filtering:
Best Practices for Sending SMS in Bulgaria
Messaging Strategy
Sending Frequency and Timing
Localization
Opt-Out Management
Testing and Monitoring
SMS API integrations for Bulgaria
Twilio
Twilio provides a robust SMS API with comprehensive support for Bulgarian numbers. Here's how to implement it:
import * as Twilio from 'twilio'; // Initialize client with your credentials const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN ); // Function to send SMS to Bulgaria async function sendBulgarianSMS( to: string, message: string, senderId: string ) { try { // Validate Bulgarian phone number format if (!to.startsWith('+359')) { throw new Error('Invalid Bulgarian phone number format'); } const response = await client.messages.create({ body: message, to: to, // Bulgarian number in E.164 format from: senderId, // Your registered sender ID // Optional parameters for delivery tracking statusCallback: 'https://your-webhook.com/status' }); return response.sid; } catch (error) { console.error('SMS sending failed:', error); throw error; } }Sinch
Sinch offers reliable SMS delivery to Bulgaria with support for Unicode characters:
import { SinchClient } from '@sinch/sdk-core'; // Initialize Sinch client const sinchClient = new SinchClient({ servicePlanId: process.env.SINCH_SERVICE_PLAN_ID, apiToken: process.env.SINCH_API_TOKEN, region: 'eu' // Use EU region for Bulgaria }); async function sendSinchSMS( recipientNumber: string, messageText: string ) { try { const response = await sinchClient.sms.batches.send({ to: [recipientNumber], from: 'YourBrand', // Alphanumeric sender ID body: messageText, // Enable delivery reports deliveryReport: 'summary' }); return response.id; } catch (error) { console.error('Sinch SMS failed:', error); throw error; } }MessageBird
MessageBird provides high-throughput SMS delivery for Bulgarian numbers:
import * as messagebird from 'messagebird'; // Initialize MessageBird client const mbClient = messagebird(process.env.MESSAGEBIRD_API_KEY); // Function to send SMS with delivery tracking async function sendMessageBirdSMS( to: string, message: string ): Promise<string> { return new Promise((resolve, reject) => { mbClient.messages.create({ originator: 'YourBrand', recipients: [to], body: message, // Optional parameters reportUrl: 'https://your-webhook.com/delivery', encoding: 'auto' // Automatically handle Unicode }, (err, response) => { if (err) reject(err); else resolve(response.id); }); }); }Plivo
Plivo offers competitive rates for Bulgarian SMS with detailed delivery insights:
import * as plivo from 'plivo'; // Initialize Plivo client const plivoClient = new plivo.Client( process.env.PLIVO_AUTH_ID, process.env.PLIVO_AUTH_TOKEN ); async function sendPlivoSMS( destination: string, message: string ) { try { const response = await plivoClient.messages.create({ src: 'YourBrand', // Your sender ID dst: destination, // Destination number text: message, // Optional parameters url: 'https://your-webhook.com/status', method: 'POST' }); return response.messageUuid[0]; } catch (error) { console.error('Plivo SMS failed:', error); throw error; } }API Rate Limits and Throughput
Throughput Management Strategies:
Error Handling and Reporting
Recap and Additional Resources
Key Takeaways:
Next Steps:
Additional Resources: