sms compliance

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

How to Send SMS to Mexico: Complete Compliance Guide 2025 | IFT Regulations & REPEP

Learn how to send SMS to Mexico with full regulatory compliance. Covers IFT regulations, REPEP registry requirements, sender ID registration, time restrictions, and API integration for Telcel, AT&T, and Movistar networks.

Mexico SMS Best Practices, Compliance, and Features

Understanding Mexico's SMS Market

Locale name:Mexico
ISO code:MX
RegionNorth America
Mobile country code (MCC)334
Dialing Code+52

Market Conditions: Mexico operates a vibrant mobile messaging ecosystem with high SMS adoption rates. When you send SMS to Mexico, you're reaching users across three major carriers alongside popular OTT messaging apps like WhatsApp. Three major mobile operators dominate the market: Telcel (América Móvil, 58.7% subscriber market share as of Q1 2024), AT&T Mexico (15.6% market share), and Movistar (Telefónica, 16.7% market share). While OTT messaging apps see widespread use, SMS remains crucial for business communications – particularly for verification codes, alerts, and notifications. The mobile market shows a relatively even split between Android and iOS devices, with Android having a slight edge in market share.

SMS Pricing: Mexico SMS pricing through API providers ranges from $0.004 to $0.0167 USD per message. Telnyx and Plivo offer the most competitive rates ($0.004–$0.004791 per SMS), while Sinch operates at the higher end ($0.0167 per SMS). Volume discounts are typically available for bulk messaging. Pricing varies by carrier, sender type (alphanumeric vs. numeric), and message classification (transactional vs. promotional).

Delivery Rates: Industry best practices target SMS delivery rates between 95% and 98%, with well-optimized campaigns achieving near 99% delivery. Factors affecting delivery include sender ID registration status, content filtering by carriers, proper number formatting (E.164), and compliance with local regulations.


What SMS Features Are Supported in Mexico?

Mexico supports a comprehensive range of SMS features including two-way messaging, concatenated messages, and number portability. MMS converts to SMS with URL links.

Two-way SMS Support

Mexico fully supports two-way SMS communications with no special restrictions, making it suitable for interactive business communications.

Implementation Requirements: Configure a webhook URL in your SMS provider's dashboard to receive inbound SMS messages. When a recipient replies to your message, the provider sends an HTTP POST request to your webhook endpoint containing the message details (sender number, message body, timestamp). Your application processes this request and can automatically respond or route the message to your support team. Most providers (Twilio, Sinch, Plivo) support webhook configuration through their console under phone number settings.

Concatenated Messages (Segmented SMS)

Support: Concatenation is supported across Mexican carriers, though support may vary by sender ID type.

Message length rules:

  • Single message: 160 characters (GSM-7 encoding) or 70 characters (UCS-2 Unicode)
  • Concatenated messages: 153 characters per segment (GSM-7) or 67 characters per segment (UCS-2) due to the 7-byte User Data Header (UDH) required for reassembly

Encoding considerations: Messages use GSM-7 encoding for standard ASCII characters. For messages containing special characters, emojis, or Unicode (including Spanish accented characters like ñ, á, é, í, ó, ú), UCS-2 encoding is used, reducing the character limit to 70 per segment (67 for concatenated).

MMS Support

MMS messages automatically convert to SMS with an embedded URL link pointing to the multimedia content. This ensures compatibility across all carriers while maintaining the ability to share rich media content.

Technical Specifications:

  • Maximum file sizes: 600 KB recommended for images and non-image media to ensure cross-carrier compatibility; some carriers may accept up to 3 MB
  • Supported image formats: JPEG, PNG, GIF
  • Supported media formats: MP3, MP4, AAC (audio); MP4, 3GP (video); PDF, vCard
  • Hosting requirements: Media files are hosted by your SMS provider and accessed via HTTPS URLs; ensure URLs use HTTPS and are accessible without authentication

Best Practice: When sending multimedia content, shorten the URL and clearly label it to encourage recipient engagement.

Recipient Phone Number Compatibility

Number Portability

Number portability is available in Mexico. While it doesn't significantly impact delivery, carriers handle routing automatically through a central database to ensure messages reach the correct recipient regardless of their current carrier.

Sending SMS to Landlines

You cannot send SMS to landline numbers in Mexico. Attempts to send SMS to landline numbers result in a 400 response error (code 21614), the message won't appear in logs, and no charges are incurred.

What Are Mexico's SMS Compliance Requirements?

The Federal Telecommunications Institute (IFT) regulates Mexico's SMS communications under the Federal Telecommunications and Broadcasting Law (Ley Federal de Telecomunicaciones y Radiodifusión). SMS must also comply with the Federal Consumer Protection Law (Ley Federal de Protección al Consumidor). Note: The Federal Institute for Access to Information and Data Protection (INAI) was dissolved on March 20, 2025, with data privacy oversight functions transferred to the Secretaría de la Función Pública and transparency functions to the new federal framework at transparencia.gob.mx.

Penalties for Non-Compliance: Under the Federal Telecommunications and Broadcasting Law, IFT can impose fines ranging from administrative sanctions to penalties up to 5% of annual revenue for serious violations. PROFECO enforces consumer protection violations related to REPEP registry non-compliance and unauthorized marketing, with penalties including fines and mandatory compensation to affected consumers plus 20% additional damages.

Obtain explicit consent before sending any marketing or non-essential messages to Mexican recipients. This is a legal requirement under IFT regulations. Best practices for obtaining and documenting consent include:

  • Collect written or electronic confirmation of opt-in
  • Maintain detailed records of when and how you obtained consent
  • Clearly state the types of messages recipients will receive
  • Provide transparent information about message frequency
  • Document the specific phone number that gave consent

HELP/STOP and Other Commands

  • Support both "ALTO" (STOP) and "AYUDA" (HELP) commands in Spanish for all SMS campaigns
  • Display keywords prominently in the first message sent to new subscribers
  • Respond to STOP commands immediately and confirm the action
  • Include customer service contact information in Spanish in HELP responses

Do Not Call / Do Not Disturb Registries

Mexico maintains the Public Registry of Telecommunications Users (REPEP – Registro Público Para Evitar Publicidad), managed by PROFECO (Federal Consumer Protection Agency) in coordination with IFT.

  • Check your contact lists against REPEP before sending campaigns
  • Registration on REPEP is indefinite (as of the January 27, 2012 reform to the operational rules)
  • Penalties: Violations of REPEP can result in administrative fines, legal action, mandatory compensation to affected consumers, and potential suspension of messaging services
  • Best Practice: Implement automated REPEP checking before each campaign
  • Maintain internal suppression lists of opted-out numbers
  • Update suppression lists across all platforms within 24 hours of receiving opt-out requests

Data Retention and Privacy Requirements

Under the Federal Law for the Protection of Personal Data Held by Private Parties (LFPDPPP) enacted March 21, 2025:

  • Data retention periods must be established and documented for all personal data collected through SMS campaigns
  • Delete personal data after the retention period expires, following a blocking process
  • Confidentiality obligations extend to all parties processing personal data, including contractors and employees, even after termination of relationship
  • Consent requirements: Obtain consent freely, specifically, and in an informed manner for each distinct processing purpose
  • Privacy notices must detail specific personal data processed, identify sensitive data, and distinguish between purposes requiring consent and those that do not
  • Data subject rights (ARCO rights): Facilitate Access, Rectification, Cancellation, and Opposition, including the right to object to automated processing

Time Zone Sensitivity

  • Restricted Hours: Avoid sending messages between 9:00 PM and 9:00 AM local time
  • Mexico's Time Zones: Mexico spans 4 time zones: Southeast/Zona Sureste (UTC-5, Quintana Roo), Central/Zona Centro (UTC-6, most of Mexico including Mexico City), Pacific/Zona Pacífico (UTC-7, Baja California Sur, Chihuahua, Nayarit, Sinaloa, Sonora), and Northwest/Zona Noroeste (UTC-8, Baja California)
  • Exception: Send critical alerts and authentication messages 24/7
  • Best Practice: Schedule routine messages between 10:00 AM and 8:00 PM local time for each recipient's time zone

How to Choose the Right Sender ID for Mexico SMS

Alphanumeric Sender ID Registration in Mexico

Operator network capability: Supported with restrictions

Registration requirements: Pre-registration required for Telcel and Movistar networks; dynamic usage supported

Sender ID preservation: Yes for registered IDs; unregistered IDs are replaced with short codes

Registration Process and Requirements (per Infobip and Twilio guidelines):

  • Character limits: 3–11 characters; spaces ( ), underscores (_), and dots (.) allowed; no other special characters permitted
  • Required documents: Letter of Authorization (LOA), carrier-specific templates (Telcel, Movistar, AT&T)
  • Information needed: Company name, website, headquarters address, industry, traffic type and origin, sample message templates, terms & conditions URL, privacy policy URL
  • Timeline: Registration typically takes 2–4 weeks depending on carrier and documentation completeness
  • Costs: Setup fees apply; contact your SMS provider for specific pricing (typically $100–500 USD one-time fee)
  • Approval criteria: Legitimate business use, complete documentation, compliance with carrier content policies, valid company registration

Note: Generic senders (e.g., "INFO", "ALERT") are not allowed. Financial and alcohol-related sender IDs require additional documentation.

Long Codes

Domestic vs. International: Both supported with different restrictions

  • Domestic: Limited to AT&T Mexico for direct delivery
  • International: Supported but sender ID may be modified

Sender ID preservation:

  • Domestic: Yes
  • International: No, typically replaced with short code

Provisioning time: Immediate for international; varies for domestic

Use cases:

  • Domestic: Primarily for OTP and transactional messages
  • International: General messaging with sender ID limitations

Short Codes

Support: Widely supported across all carriers

Provisioning time: Approximately 8 weeks

Use cases:

  • High-volume marketing campaigns
  • Two-factor authentication
  • Customer service interactions
  • Promotional messages

What Content Is Prohibited in Mexico SMS?

Prohibited Content and Industries:

  • Firearms and weapons
  • Gambling and betting
  • Adult content
  • Predatory loans
  • Lead generation
  • Text-to-pay services
  • Controlled substances
  • Cannabis products
  • Alcohol-related content
  • Political campaign messages

Enforcement: Carriers implement automated content filtering. Violations may result in immediate message blocking, sender ID suspension, account termination, and potential legal action under IFT regulations. Repeated violations can lead to blacklisting across all Mexican carriers.

How Mexican Carriers Filter SMS Content

Known Carrier Filtering Rules:

  • URLs from unregistered senders are often blocked
  • International brand names may trigger filtering
  • High-frequency messaging from the same source

Carrier-Specific Filtering:

  • Telcel: Strictest filtering; blocks unregistered URLs and suspicious keywords; monitors message velocity
  • Movistar: Moderate filtering; focuses on spam patterns and unauthorized promotional content
  • AT&T Mexico: Standard filtering; primarily blocks prohibited content categories

Tips to Avoid Blocking:

  • Register sender IDs for URL-containing messages
  • Avoid excessive punctuation and all-caps text
  • Use consistent sender IDs for campaigns
  • Maintain steady message volumes
  • Include clear opt-out instructions

How to Optimize SMS Delivery Rates in Mexico

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear calls-to-action
  • Personalize messages using recipient's name or relevant details
  • Maintain consistent branding across campaigns

Sending Frequency and Timing

  • Limit to 3–4 messages per week per recipient
  • Respect Mexican holidays and cultural events
  • Implement frequency capping per user
  • Monitor engagement rates to optimize timing

Mexican Federal Holidays to Avoid (2025 calendar):

  • January 1: New Year's Day
  • February 3: Constitution Day (observed first Monday of February)
  • March 17: Benito Juárez's Birthday (observed third Monday of March)
  • April 17–18: Holy Thursday and Good Friday (Semana Santa/Easter Week)
  • May 1: Labor Day
  • September 16: Independence Day
  • November 17: Revolution Day (observed third Monday of November)
  • December 25: Christmas Day

Cultural Observances (high engagement periods, use with appropriate messaging):

  • May 10: Mother's Day (Día de las Madres)
  • November 2: Day of the Dead (Día de Muertos)
  • December 12: Day of the Virgin of Guadalupe

Localization

  • Use Spanish as the primary language
  • Consider regional Spanish variations
  • Offer bilingual options when appropriate
  • Test message clarity with native speakers

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain centralized opt-out database
  • Confirm opt-out requests with acknowledgment message
  • Regularly audit opt-out list compliance

Testing and Monitoring

  • Test across all major carriers (Telcel, Movistar, AT&T)
  • Monitor delivery rates by carrier
  • Track engagement metrics by message type
  • Regularly test opt-out functionality
  • Monitor and analyze bounce rates

How to Integrate SMS APIs for Mexico

Twilio

Twilio provides a robust REST API for sending SMS messages to Mexico. Authenticate using your Account SID and Auth Token.

Key Parameters:

  • from: Your Twilio phone number or registered sender ID
  • to: Recipient number in E.164 format (+52XXXXXXXXXX)
  • body: Message content (supports Unicode)
typescript
import { Twilio } from 'twilio';

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

async function sendSMSToMexico(
  to: string,
  message: string
): Promise<void> {
  try {
    // Ensure number is in E.164 format
    const formattedNumber = to.startsWith('+52') ? to : `+52${to}`;

    const response = await client.messages.create({
      body: message,
      from: process.env.TWILIO_PHONE_NUMBER,
      to: formattedNumber,
      // Optional: Add status callback URL
      statusCallback: 'https://your-domain.com/sms/status'
    });

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

Sinch

Sinch uses API token authentication and provides a REST API for SMS delivery.

Key Parameters:

  • from: Sender ID or phone number
  • to: Array of recipient numbers
  • body: Message content
typescript
import axios from 'axios';

interface SinchSMSResponse {
  id: string;
  status: string;
}

async function sendSinchSMS(
  to: string,
  message: string
): Promise<SinchSMSResponse> {
  const API_TOKEN = process.env.SINCH_API_TOKEN;
  const SERVICE_PLAN_ID = process.env.SINCH_SERVICE_PLAN_ID;

  try {
    const response = await axios.post(
      `https://sms.api.sinch.com/xms/v1/${SERVICE_PLAN_ID}/batches`,
      {
        from: process.env.SINCH_SENDER_ID,
        to: [to],
        body: message
      },
      {
        headers: {
          'Authorization': `Bearer ${API_TOKEN}`,
          'Content-Type': 'application/json'
        }
      }
    );

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

MessageBird

MessageBird offers a straightforward REST API with API key authentication.

Key Parameters:

  • originator: Sender ID (alphanumeric or phone number)
  • recipients: Array of recipient numbers
  • content: Message content
typescript
import { MessageBirdClient, Message } from 'messagebird';

class MessageBirdService {
  private client: MessageBirdClient;

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

  async sendSMS(
    to: string,
    message: string
  ): Promise<Message> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: process.env.MESSAGEBIRD_ORIGINATOR,
        recipients: [to],
        content: {
          type: 'text',
          text: message
        }
      }, (err, response) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo uses basic authentication with Auth ID and Auth Token.

Key Parameters:

  • src: Source number or sender ID
  • dst: Destination number
  • text: Message content
typescript
import * as plivo from 'plivo';

class PlivoService {
  private client: plivo.Client;

  constructor() {
    this.client = new plivo.Client(
      process.env.PLIVO_AUTH_ID,
      process.env.PLIVO_AUTH_TOKEN
    );
  }

  async sendSMS(
    to: string,
    message: string
  ): Promise<any> {
    try {
      const response = await this.client.messages.create({
        src: process.env.PLIVO_SOURCE_NUMBER,
        dst: to,
        text: message,
        // Optional: URL to receive delivery reports
        url: 'https://your-domain.com/delivery-report'
      });

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

API Rate Limits and Throughput

Rate Limits for Mexico:

  • Standard rate: 1 message per second per source number
  • Burst rate: Up to 30 messages per second with proper queuing
  • Daily limits vary by carrier and sender type

What Happens When Limits Are Exceeded:

  • The provider queues messages (may incur delays)
  • HTTP 429 (Too Many Requests) errors returned
  • Potential throttling or temporary account suspension for severe violations
  • Failed messages typically do not incur charges but count toward retry limits

Throughput Management Strategies:

  • Implement exponential backoff for retries
  • Use message queuing systems (Redis, RabbitMQ)
  • Batch messages for bulk sending
  • Monitor carrier capacity in real-time

Error Handling and Reporting

Common Mexico-Specific Error Codes:

Error CodeDescriptionResolution
21614Landline number (invalid destination)Verify number is mobile; remove landlines from list
30003Unreachable destinationCheck number format; verify carrier availability
30004Message blocked by carrierReview content for prohibited terms; verify sender ID registration
30005Unknown destinationValidate phone number format (E.164: +52XXXXXXXXXX)
30006Landline or unreachable carrierUse mobile numbers only; verify carrier supports SMS
21408Permission to send deniedCheck account status; verify sender ID approval
21610Message exceeds maximum priceAdjust pricing limits in account settings

Logging Best Practices:

  • Log all API requests and responses
  • Track delivery receipts and status updates
  • Monitor error rates by carrier
  • Implement automated alerts for high failure rates

Troubleshooting Tips:

  • Verify number formatting (E.164)
  • Check sender ID registration status
  • Monitor message content for filtered terms
  • Track carrier-specific error codes

Recap and Additional Resources

Key Takeaways:

  • Always obtain explicit consent
  • Use registered sender IDs for better deliverability
  • Respect time windows (9 AM – 9 PM)
  • Implement proper opt-out handling
  • Monitor delivery rates and adjust accordingly

Next Steps:

  1. Review IFT regulations for SMS messaging
  2. Implement proper consent collection
  3. Set up delivery monitoring
  4. Test across all major carriers

Frequently Asked Questions

What are the SMS compliance requirements in Mexico?

Mexico requires explicit consent before sending marketing messages, compliance with IFT (Federal Telecommunications Institute) regulations under the Federal Telecommunications and Broadcasting Law, and adherence to REPEP (Public Registry to Avoid Advertising) do-not-contact lists. Support "ALTO" (STOP) and "AYUDA" (HELP) commands in Spanish for all campaigns, and avoid sending messages between 9:00 PM and 9:00 AM local time except for critical alerts.

Is REPEP registration required for SMS campaigns in Mexico?

Check your contact lists against REPEP before sending SMS campaigns. REPEP is managed by PROFECO (Federal Consumer Protection Agency) and registration is indefinite (not time-limited). Failure to comply with REPEP can result in penalties under the Federal Consumer Protection Law.

Which mobile carriers dominate Mexico's SMS market?

Three carriers dominate Mexico's SMS market as of Q1 2024: Telcel (América Móvil) with 58.7% subscriber market share, AT&T Mexico with 15.6%, and Movistar (Telefónica) with 16.7%. Telcel commands 68.9% of mobile telephony revenue, making it the clear market leader.

Do alphanumeric sender IDs work in Mexico?

Mexico supports alphanumeric sender IDs with restrictions. Pre-registration is required for Telcel and Movistar networks. Registered IDs are preserved, while carriers typically replace unregistered alphanumeric IDs with short codes.

What are Mexico's SMS time restrictions and time zones?

Avoid sending messages between 9:00 PM and 9:00 AM local time, except for critical alerts and authentication. Mexico has 4 time zones: Southeast (UTC-5), Central (UTC-6), Pacific (UTC-7), and Northwest (UTC-8). Respect the local time zone for each recipient when scheduling campaigns.

What character encoding does Mexico SMS use?

Mexico SMS uses GSM-7 encoding for standard ASCII characters (160 characters per message, 153 for concatenated). Messages with Spanish accented characters (ñ, á, é, í, ó, ú), emojis, or Unicode trigger UCS-2 encoding, reducing capacity to 70 characters per message (67 for concatenated) due to the 7-byte User Data Header.

Can I send SMS to landline numbers in Mexico?

You cannot send SMS to landline numbers in Mexico. Attempts result in a 400 response error (code 21614), the message won't appear in logs, and no charges are incurred. Mexico's number portability system only applies to mobile numbers.

How long does it take to provision a short code in Mexico?

Short code provisioning in Mexico takes approximately 8 weeks. Short codes are supported across all carriers (Telcel, AT&T, Movistar) and are ideal for high-volume marketing campaigns, two-factor authentication, and customer service interactions.

For comprehensive guides on SMS integration and compliance in other markets:

  • E.164 Phone Number Format: Understand international phone number formatting standards required for Mexico's +52 country code
  • SMS API Integration Best Practices: Security, error handling, and rate limiting strategies for production deployments
  • Two-Factor Authentication Implementation: Best practices for OTP delivery and security compliance
  • International SMS Regulations: Compare Mexico's requirements with other Latin American markets

Additional Information:

Frequently Asked Questions

How to send SMS messages in Mexico?

Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure the recipient number is in E.164 format (+52XXXXXXXXXX), have a registered sender ID, and comply with Mexican regulations.

What is the best time to send SMS in Mexico?

The optimal time is between 10:00 AM and 8:00 PM local time to avoid disturbing recipients outside of reasonable hours. Remember Mexico has multiple time zones, so adjust accordingly.

Why does Mexico convert MMS to SMS?

MMS messages are converted to SMS with a URL link to ensure compatibility across all carriers and devices, as direct MMS support is not universal.

When should I use a short code for SMS in Mexico?

Short codes are ideal for high-volume marketing campaigns, two-factor authentication, customer service interactions, and promotional messages due to their wide carrier support.

Can I send SMS to landlines in Mexico?

No, sending SMS to landline numbers in Mexico is not supported and will result in a 400 response error (code 21614) without incurring charges.

What is required for SMS compliance in Mexico?

Explicit consent is mandatory for marketing messages. Campaigns must support ALTO (STOP) and AYUDA (HELP) commands, comply with REPEP (Do Not Call registry), and respect quiet hours (9 PM - 9 AM).

How to register an alphanumeric sender ID in Mexico?

Pre-registration is required for Telcel and Movistar networks for using alphanumeric sender IDs, while dynamic usage is supported. Unregistered IDs might be replaced with short codes.

What are the prohibited uses of SMS in Mexico?

Restricted content includes firearms, gambling, adult material, predatory loans, lead generation, text-to-pay, controlled substances, cannabis, alcohol, and political campaigns.

How many SMS messages can I send per second in Mexico?

The standard rate is 1 message per second per source number, with a burst rate of up to 30 messages per second if properly queued. Daily limits depend on the carrier and sender ID type.

What are the character limits for SMS in Mexico?

Concatenated messages are supported, with each segment limited to 160 characters using GSM-7 encoding for standard ASCII. Using special characters or Unicode (UCS-2) reduces this limit to 70 characters per segment.

How do I handle SMS opt-outs in Mexico?

Process opt-out requests within 24 hours, maintain a centralized database of opted-out numbers, confirm opt-out requests to the user, and regularly audit your opt-out compliance list.

What are some SMS best practices for Mexico?

Keep messages concise, include clear calls-to-action, personalize content, and maintain consistent branding. Limit frequency to 3-4 messages per week and localize messages in Spanish.

What SMS APIs are available for sending messages to Mexico?

Popular choices include Twilio, Sinch, MessageBird, and Plivo, each offering REST APIs with various authentication methods and parameters.

What are common SMS filtering issues in Mexico?

URLs from unregistered senders, international brand names, and high-frequency messaging can trigger content filtering. Register your sender ID and avoid excessive punctuation and all-caps to mitigate this.