sms compliance

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

Indonesia SMS Guide 2025: Regulations, Sender ID Registration & API Integration

Send SMS in Indonesia with confidence. Complete compliance guide covering UU PDP requirements, alphanumeric sender ID registration, brand name mandates, prohibited content, and API setup for Telkomsel, Indosat, and XL Axiata networks.

Indonesia SMS Guide 2025: Regulations, Sender ID Registration & API Integration

Indonesia SMS Market Overview: Mobile Operators & Network Statistics

Locale name:Indonesia
ISO code:ID
Region:Asia
Mobile country code (MCC):510
Dialing Code:+62

Indonesia operates one of Asia's largest mobile markets. As of 2024, three major operators control 89.6% of the market:

  • Telkomsel: 45% market share
  • Indosat Ooredoo Hutchison: 28% market share
  • XL Axiata: 27% market share (including merged Smartfren operations)

Mobile penetration reaches 140%, with Android devices holding 92% market share and iOS devices accounting for 8%. SMS remains critical for business communications – particularly authentication, notifications, and marketing – alongside popular OTT apps like WhatsApp and LINE.

To send SMS in Indonesia, you must understand local telecommunications regulations, carrier-specific requirements, and compliance with Indonesia's Personal Data Protection Law (UU PDP). This guide covers sender ID registration, message delivery requirements, compliance best practices, prohibited content rules, and API integration for all three major mobile networks.


How to Send SMS in Indonesia: Complete Feature Guide & Technical Requirements

Indonesia's mobile networks support standard SMS features including concatenated messaging and alphanumeric sender IDs for business messaging. Major SMS providers do not support two-way SMS functionality in Indonesia.

Does Indonesia Support Two-Way SMS Messaging?

Major SMS providers do not support two-way SMS in Indonesia. For interactive messaging or SMS replies, use alternative channels like WhatsApp Business API or specialized local messaging providers.

Concatenated SMS Messages (Long SMS) in Indonesia

Support: Indonesian mobile networks fully support concatenation, though availability varies by sender ID type.

Message length: SMS messages split at 160 characters when using GSM-7 encoding.

Encoding: GSM-7 is the standard encoding format for Indonesian SMS. UCS-2 encoding works only with International Registered Sender IDs, not domestic sender IDs.

Does Indonesia Support MMS Messaging?

MMS messages automatically convert to SMS with an embedded URL link when sent to Indonesian mobile numbers. This ensures compatibility across all devices while allowing rich media content sharing through a web-based interface.

Indonesia Phone Number Format Requirements & Mobile Compatibility

Is Mobile Number Portability (MNP) Available in Indonesia?

Indonesia has not implemented mobile number portability (MNP). While the regulatory framework exists under MoCIR 14/2018, full implementation has not occurred as of 2024-2025. Indonesian phone numbers remain tied to their original mobile network operators. Users must obtain a new phone number when switching carriers between Telkomsel, Indosat, or XL Axiata. Implementation challenges include network capacity constraints and concerns about large-scale customer migration from established operators to newer competitors.

Can You Send SMS to Landline Numbers in Indonesia?

SMS cannot reach landline numbers in Indonesia. Attempts to send messages to landlines result in a 400 response error (code 21614) through most SMS APIs. These messages will not be processed or charged to your account.

Indonesia SMS Compliance: UU PDP Regulations & Kominfo Requirements

The Ministry of Communication and Information Technology (Kominfo) regulates all SMS communications in Indonesia. All SMS providers and businesses must comply with Indonesian telecommunications laws and data privacy regulations, including Law No. 27 of 2022 on Personal Data Protection (UU PDP), enacted on October 17, 2022. The two-year grace period ended on October 17, 2024, making full compliance mandatory.

Critical Compliance Update (2025): The Indonesian Data Protection Authority has not been established as of early 2025. The Ministry of State Apparatus Utilization and Bureaucratic Reform is finalizing the draft presidential regulation. Implementing regulations are in the fourth harmonization process and are expected "in the near future" (as of February 2025), though no specific date has been confirmed.

Despite these delays, UU PDP is legally enforceable. Maintain full compliance to avoid:

  • Administrative fines: Up to 2% of annual revenue
  • Criminal penalties: Up to IDR 60 billion (~USD 3.8 million) and 6 years imprisonment for data falsification

Obtain explicit opt-in consent before sending any marketing or promotional SMS messages to Indonesian mobile users. Under UU PDP, you must obtain lawful consent for processing personal data.

Best practices for SMS consent management:

  • Maintain clear records of when and how you obtained consent
  • Provide transparent information about message frequency and content type
  • Use double opt-in verification for marketing SMS lists
  • Store consent documentation for at least 5 years (UU PDP Article 20)
  • Include clear terms and conditions during the opt-in process

SMS Opt-Out Commands: HELP/STOP Requirements

Support standard opt-out keywords in both English and Bahasa Indonesia:

  • STOP/BERHENTI: Unsubscribe from messages
  • HELP/BANTUAN: Request assistance
  • CANCEL/BATAL: Cancel subscription

Include opt-out instructions in Bahasa Indonesia in your messages. Send opt-out confirmations in the recipient's preferred language.

Do Not Call Registry in Indonesia

Indonesia does not maintain a centralized Do Not Call (DNC) registry for SMS.

Your requirements:

  • Maintain your own SMS suppression lists
  • Honor opt-out requests within 24 hours
  • Implement systems to prevent messaging opted-out numbers
  • Regularly clean and update contact lists

Indonesia Time Zone Considerations for SMS

Indonesia spans three time zones:

  • WIB (Western Indonesian Time): UTC+7 – Jakarta, Sumatra, West/Central Kalimantan
  • WITA (Central Indonesian Time): UTC+8 – Bali, South/East Kalimantan, Sulawesi
  • WIT (Eastern Indonesian Time): UTC+9 – Maluku, Papua

SMS timing best practices:

  • Send marketing SMS between 08:00 and 20:00 local time
  • Respect religious observances, particularly during Ramadan
  • Send only urgent transactional SMS (like OTP codes) outside business hours
  • Schedule campaigns according to the recipient's local time zone

How to Register SMS Sender IDs in Indonesia: Alphanumeric, Long Codes & Short Codes

How to Register Alphanumeric Sender IDs for Indonesia SMS

Operator network capability: Fully supported across Telkomsel, Indosat, and XL Axiata

Registration requirements: Pre-registration mandatory for both domestic and international senders

Sender ID preservation: Preserved when properly registered with carriers

Processing time:

  • Domestic sender ID registration: ~3 weeks
  • International sender ID registration: ~4 weeks

Requirements:

  • Maximum 11 alphanumeric characters
  • Include brand name in SMS message body (mandatory as of April 1, 2024)

Compliance warning: As of April 1, 2024, Indonesian carriers automatically block SMS OTP messages without brand name inclusion in the message body. Missing or mismatched brand names result in 6-month sender ID suspension.

Do Long Codes Work for SMS in Indonesia?

Support:

  • Domestic long codes: Not supported
  • International long codes: Supported with significant limitations

Sender ID preservation: No – typically overwritten by carriers

Provisioning time: Immediate for international (domestic N/A)

Recommendation: Use alphanumeric sender IDs instead for primary business SMS

Are Short Codes Available for SMS in Indonesia?

Support: Short codes not currently supported for SMS in Indonesia

Provisioning time: N/A

Use cases: N/A

Prohibited SMS Content in Indonesia: Restrictions & Banned Industries

Indonesian mobile carriers (Telkomsel, Indosat, XL Axiata) and Kominfo strictly prohibit these SMS content types:

  • Gambling, betting, and lottery
  • Adult and sexual content
  • Political campaign messages
  • Religious proselytizing
  • Racist or discriminatory content
  • Controlled substances and drugs
  • Cannabis products
  • Alcohol-related promotions
  • Unsolicited promotional messages (spam)
  • P2P traffic (person-to-person messaging on A2P channels)

Indonesia SMS Content Filtering Rules

Carrier filtering requirements:

  • Include brand name or service identifier in all messages
  • Use URLs from pre-approved, registered domains only
  • Write content in Bahasa Indonesia or English
  • Keep messages to 160 characters per segment (strongly recommended)

Tips to avoid SMS blocking:

  • Avoid URL shorteners (bit.ly, tinyurl, etc.)
  • Don't include multiple links in one message
  • Keep content professional and business-related
  • Avoid excessive punctuation (!!! ???) or all-caps text

Best Practices for Sending SMS in Indonesia

Effective SMS Marketing Strategy for Indonesian Businesses

  • Keep messages under 160 characters to avoid segmentation
  • Include a clear call-to-action (CTA) in every message
  • Use personalization tokens appropriately (name, account details)
  • Maintain consistent alphanumeric sender ID across all campaigns

Optimal SMS Sending Frequency & Best Times to Send in Indonesia

  • Limit to 4–5 messages per month per recipient
  • Respect religious and cultural observances
  • Avoid sending during major holidays (Eid, Nyepi, Christmas)
  • Space out messages to prevent subscriber fatigue

SMS Localization for Indonesian Audiences

  • Use Bahasa Indonesia as primary SMS language
  • Consider regional dialects for specific Indonesian areas
  • Use formal Bahasa Indonesia for business SMS communications
  • Include English translations for international brand messages

SMS Opt-Out Management in Indonesia

  • Process opt-outs within 24 hours (UU PDP compliance requirement)
  • Send confirmation of opt-out completion via SMS
  • Maintain a centralized SMS opt-out database
  • Conduct regular audits of SMS opt-out compliance

SMS Testing and Monitoring in Indonesia

  • Test delivery across all three major carriers (Telkomsel, Indosat, XL Axiata)
  • Monitor delivery rates by carrier network
  • Track opt-out rates and patterns by campaign
  • Regularly test opt-out functionality

Indonesia SMS API Integration Guide: Twilio, Sinch, MessageBird & Plivo

Twilio

Twilio provides SMS capabilities for Indonesia through their REST API. Authentication uses account SID and auth token credentials.

typescript
import { Twilio } from 'twilio';

// Initialize Twilio client with your credentials
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

// Function to send SMS to Indonesia
async function sendSMSToIndonesia(
  to: string,
  message: string,
  senderId: string
) {
  try {
    // Ensure phone number is in E.164 format for Indonesia
    const formattedNumber = to.startsWith('+62') ? to : `+62${to}`;

    const response = await client.messages.create({
      body: `${senderId}: ${message}`, // Include brand name as required
      from: senderId, // Your registered alphanumeric sender ID
      to: formattedNumber,
    });

    console.log(`Message sent successfully: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Sinch

Sinch offers SMS API access with REST endpoints and requires API token authentication.

typescript
import axios from 'axios';

class SinchSMSClient {
  private readonly apiToken: string;
  private readonly serviceId: string;
  private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';

  constructor(apiToken: string, serviceId: string) {
    this.apiToken = apiToken;
    this.serviceId = serviceId;
  }

  async sendSMS(to: string, message: string, senderId: string) {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: senderId,
          to: [to],
          body: message,
          delivery_report: 'summary'
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );

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

MessageBird

MessageBird provides SMS capabilities with RESTful API access.

typescript
import messagebird from 'messagebird';

class MessageBirdClient {
  private client: any;

  constructor(apiKey: string) {
    this.client = messagebird(apiKey);
  }

  sendSMS(to: string, message: string, senderId: string): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: senderId,
        recipients: [to],
        body: message,
        datacoding: 'auto' // Automatically handles character encoding
      }, (err: any, response: any) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo offers SMS integration through their REST API with auth ID and token authentication.

typescript
import plivo from 'plivo';

class PlivoSMSClient {
  private client: any;

  constructor(authId: string, authToken: string) {
    this.client = new plivo.Client(authId, authToken);
  }

  async sendSMS(to: string, message: string, senderId: string) {
    try {
      const response = await this.client.messages.create({
        src: senderId, // Your registered sender ID
        dst: to, // Destination number
        text: message,
        url_strip_query_params: false
      });

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

SMS API Rate Limits and Throughput for Indonesia

Default rate limits vary by provider:

  • Twilio: 100 messages per second
  • Sinch: 50 messages per second
  • MessageBird: 60 messages per second
  • Plivo: 30 messages per second

Strategies for large-scale sending:

  • Implement queue systems (Redis/RabbitMQ)
  • Use batch APIs where available
  • Implement exponential backoff for retries
  • Monitor throughput metrics

SMS API Error Handling Best Practices for Indonesia

Implement comprehensive logging:

typescript
interface SMSLog {
  messageId: string;
  timestamp: Date;
  recipient: string;
  status: string;
  errorCode?: string;
  errorMessage?: string;
}

function logSMSEvent(log: SMSLog): void {
  // Log to your preferred system (e.g., CloudWatch, ELK Stack)
  console.log(JSON.stringify(log));
}

Recap and Additional Resources

Key Takeaways for Sending SMS in Indonesia

Compliance priorities:

  • Register alphanumeric sender IDs (3–4 weeks processing time)
  • Include brand name in all message bodies (mandatory since April 1, 2024)
  • Honor opt-out requests within 24 hours (UU PDP requirement)
  • Maintain consent records for at least 5 years (UU PDP Article 20)

Best practices:

  • Send during business hours (08:00–20:00 local time across three time zones)
  • Use proper character encoding (GSM-7 standard)
  • Implement proper error handling and logging
  • Monitor delivery rates across all three major carriers

Next Steps for Indonesia SMS Setup

  1. Review Kominfo's telecommunications regulations
  2. Consult with local legal counsel for UU PDP compliance verification
  3. Register sender IDs with your chosen SMS provider
  4. Implement a consent management system with 5-year record retention

Additional Resources for Indonesia SMS

Frequently Asked Questions About SMS in Indonesia

How do I register a sender ID for Indonesia SMS?

Sender ID registration is mandatory for sending business SMS in Indonesia. Register your alphanumeric sender ID with Indonesian mobile operators (Telkomsel, Indosat, XL Axiata) before sending any messages. Domestic registration takes ~3 weeks; international registration takes ~4 weeks. Provide Letters of Authorization (LOA) and screenshots of your opt-in process to complete registration.

What are the brand name requirements for Indonesia SMS?

As of April 1, 2024, Indonesian carriers automatically block SMS OTP messages that don't include the brand name in the message body. Missing or mismatched brand names result in 6-month sender ID suspension. Include your brand name at the beginning of every SMS sent to Indonesian mobile numbers.

No. Under Indonesia's Personal Data Protection Law (UU PDP), you must obtain explicit opt-in consent before sending any marketing or promotional SMS. Maintain consent records for at least 5 years (UU PDP Article 20) and honor opt-out requests within 24 hours. Non-compliance may result in administrative fines up to 2% of annual revenue.

Which mobile operators should I test for Indonesia SMS delivery?

As of 2024, three major operators control 89.6% of Indonesia's mobile market: Telkomsel (45%), Indosat Ooredoo Hutchison (28%), and XL Axiata (27%, including merged Smartfren operations). Test your SMS delivery across all three carriers to ensure optimal delivery rates and performance.

Is mobile number portability available in Indonesia?

No. While the regulatory framework for mobile number portability (MNP) exists under MoCIR 14/2018, Indonesia has not implemented MNP as of 2024-2025. Phone numbers remain tied to their original network operators (Telkomsel, Indosat, or XL Axiata). Users must obtain a new phone number when switching carriers.

What are the best times to send SMS in Indonesia?

Send messages between 08:00 and 20:00 local time across Indonesia's three time zones: Western Indonesian Time (WIB, UTC+7), Central Indonesian Time (WITA, UTC+8), and Eastern Indonesian Time (WIT, UTC+9). Schedule campaigns according to the recipient's local time zone. Send only urgent transactional messages (like OTP codes) outside business hours. Respect religious observances, particularly during Ramadan and major holidays.

What content is prohibited in Indonesia SMS?

Indonesian carriers and Kominfo prohibit SMS content related to: gambling and betting, adult content, political messages, religious proselytizing, racist/discriminatory content, controlled substances, cannabis, alcohol promotion, spam, and P2P traffic on A2P channels. Violating content restrictions can result in immediate sender ID suspension and legal penalties.

How long does SMS sender ID registration take in Indonesia?

Registration timelines vary by type: domestic alphanumeric sender IDs require ~3 weeks for approval and activation; international sender IDs require ~4 weeks. Factor in these timelines when planning your SMS launch date and ensure all documentation (LOA, opt-in screenshots) is prepared in advance.

What is the cost of sending SMS in Indonesia?

SMS pricing varies by provider and volume. Typical rates range from $0.05 to $0.15 per message, with volume discounts available for large-scale campaigns. Costs depend on your SMS provider (Twilio, Sinch, MessageBird, Plivo), sender ID type (alphanumeric vs. long code), and message type (transactional vs. promotional). International sender IDs typically cost more than domestic registered sender IDs. Request pricing quotes from multiple providers and factor in sender ID registration fees.

Does Indonesia support Unicode and emoji in SMS messages?

Indonesia supports GSM-7 encoding for standard SMS, which does not include emoji or extended Unicode characters. UCS-2 encoding (which supports emoji and Unicode) is available only for International Registered Sender IDs, not domestic sender IDs. When using domestic sender IDs, messages containing emoji automatically convert to GSM-7 compatible characters or may be rejected. For emoji and Unicode support, use International Registered Sender IDs or consider alternative channels like WhatsApp Business API.

Frequently Asked Questions

How to send SMS messages in Indonesia?

Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure your message content complies with Indonesian regulations, includes your registered alphanumeric sender ID, and respects user consent and opt-out preferences. Remember to format phone numbers in E.164 format (+62).

What is the SMS market like in Indonesia?

Indonesia has high SMS usage despite the popularity of OTT apps. Key players include Telkomsel, Indosat, and XL Axiata. Android dominates with 92% market share, while iOS holds about 8%. SMS remains vital for business communication, especially for authentication and notifications.

Why does Indonesia not support two-way SMS?

Two-way SMS is not supported by major providers. For interactive messaging, consider alternative channels or specialized local providers. Most providers offer APIs for integrating SMS into your applications.

When should I send SMS messages in Indonesia?

Send messages between 8:00 AM and 8:00 PM local time. Be mindful of time zone differences across Indonesia's three time zones (WIB, WITA, and WIT). Avoid sending during religious holidays and respect quiet hours.

Can I send SMS to landlines in Indonesia?

No, sending SMS to landlines in Indonesia is not possible. Attempts will result in a 400 error response (code 21614) and will not be charged.

What is the character limit for SMS in Indonesia?

Messages are limited to 160 characters when using GSM-7 encoding. Longer messages are split into segments using concatenated SMS. UCS-2 encoding is only supported for International Registered Sender IDs.

How to register an alphanumeric sender ID in Indonesia?

Pre-registration is required for both domestic and international senders. Domestic registration takes about 3 weeks, while international registration takes about 4 weeks. The sender ID is limited to 11 alphanumeric characters and must include the brand name.

What are the opt-out keywords for SMS in Indonesia?

Campaigns must support STOP/BERHENTI, HELP/BANTUAN, and CANCEL/BATAL. Include clear opt-out instructions in Bahasa Indonesia and send confirmation messages in the recipient's preferred language.

What SMS content is restricted in Indonesia?

Prohibited content includes firearms, gambling, adult material, political or religious messages, controlled substances, alcohol, and embedding phone numbers within the message body.

How to avoid SMS filtering in Indonesia?

Avoid URL shorteners and multiple links. Keep content professional, use Bahasa Indonesia or English, and limit each segment to 160 characters. Ensure messages include the brand name or service identifier.

What are the best practices for SMS marketing in Indonesia?

Obtain explicit consent, localize content in Bahasa Indonesia, send messages during appropriate hours, and respect opt-out requests. Keep messages concise, personalized, and include clear calls to action.

How to handle SMS API rate limits in Indonesia?

Implement queueing systems (e.g., Redis, RabbitMQ), utilize batch APIs, and employ exponential backoff for retries. Monitor throughput metrics to ensure efficient and compliant sending practices.

What are the consent requirements for SMS in Indonesia?

Explicit consent is mandatory for marketing messages. Maintain records of consent, inform users about message frequency and content, use double opt-in, and store documentation for at least five years.

What is the process for sending MMS messages in Indonesia?

MMS messages are automatically converted to SMS with an embedded URL. This allows recipients to access the rich media content through a web-based interface, ensuring compatibility.