How to Send SMS to Puerto Rico: 10DLC Registration & TCPA Compliance Guide (2025)
Send compliant SMS to Puerto Rico with this complete guide covering 10DLC registration, TCPA requirements, carrier support (Claro, T-Mobile, Liberty, AT&T), area codes 787/939, and messaging API integration examples.
Learn how to send SMS messages to Puerto Rico while maintaining compliance with US federal regulations. This comprehensive guide covers 10DLC registration requirements, TCPA compliance rules, carrier integration (Claro, T-Mobile, Liberty, AT&T), and best practices for reaching Puerto Rico's 2.70 million mobile connections (82.7% penetration rate).
Puerto Rico SMS Quick Reference Guide
Market Overview:
Connections: 2.70 million (82.7% penetration, January 2024)
Major Carriers: Claro (~2.5M subscribers), T-Mobile, Liberty, AT&T
Dialing Code: +1
Area Codes: 787 and 939 (overlay covering entire territory)
Time Zone: Atlantic Standard Time (AST, UTC-4, no Daylight Saving Time)
Compliance Requirements:
10DLC Registration: Mandatory for all long codes (1-3 business days typical)
Regulations: TCPA, CTIA Messaging Principles (same as US mainland)
Consent: Explicit opt-in required for marketing messages
Opt-Out Keywords: STOP, QUIT, CANCEL, UNSUBSCRIBE, HELP (English and Spanish)
Messaging Hours: 8:00 AM - 8:00 PM AST for marketing
Number Formatting:
E.164 format required: +1787XXXXXXX or +1939XXXXXXX
T-Mobile, Liberty, AT&T (39.7% market share in 2020)
Business Messaging Channel
SMS preferred over OTT apps (WhatsApp) for reliability and universal reach
SMS ensures reliable delivery across all carriers, while OTT messaging apps remain popular for personal communication only.
Sources: DataReportal Digital 2024: Puerto Rico (population and connection statistics, January 2024), BNamericas Puerto Rico mobile market analysis (2024), Statista mobile provider survey (2020), Opensignal Puerto Rico Mobile Network Experience Report (May 2023)
SMS Features and Capabilities in Puerto Rico
Puerto Rico supports comprehensive SMS capabilities including two-way messaging, with features and regulations aligned with US mainland standards.
Two-way SMS Support
Two-way SMS is fully supported. Use it for:
Customer service interactions
Appointment confirmations with reply options
Survey responses
Order status updates with delivery confirmations
No special restrictions apply beyond standard US messaging regulations.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not supported through the Sent.dm platform for Puerto Rico.
Message length rules: Messages follow standard SMS character limits – 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2).
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with GSM-7 recommended for standard ASCII characters to maximize message length.
Character Encoding Comparison:
Encoding
Max Characters
Best For
Example
GSM-7
160
English, basic punctuation
"Your order ships today!"
UCS-2 (Unicode)
70
Spanish accents, emoji
"¡Tu pedido llega hoy! 📦"
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to the media content.
Supported Media Types: Images (JPEG, PNG, GIF), videos (MP4, MOV), audio (MP3, AAC)
File Size Limit: 5 MB maximum
URL Expiration: Links expire after 30 days
How Do Puerto Rico Phone Numbers Work?
Number Portability
Number portability is not available in Puerto Rico. Phone numbers remain tied to their original carriers, which can help ensure more reliable message routing.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported. Attempts return error code 21614:
JSON
{"code":21614,"message":"'To' number is not a valid mobile number","status":400}
No charges apply for failed landline deliveries.
Area Code Coverage
Puerto Rico uses area codes 787 and 939 as overlays, meaning both codes cover the entire territory rather than dividing it geographically. Area code 787 was introduced on March 1, 1996, and area code 939 was added as an overlay on September 15, 2001, due to number exhaustion. 10-digit dialing is mandatory within Puerto Rico for all calls and SMS messages.
Phone numbers must be formatted in E.164 format for international routing: +1787XXXXXXX or +1939XXXXXXX.
Sources: Wikipedia "Telephone numbers in Puerto Rico" (area code history and structure, verified 2024), North American Numbering Plan Administration (NANPA) official documentation
Puerto Rico SMS Compliance and Regulatory Requirements
As a US territory, Puerto Rico follows US federal telecommunications regulations, including TCPA (Telephone Consumer Protection Act) and CTIA Messaging Principles & Best Practices. Businesses must comply with both federal requirements and carrier-specific rules for A2P messaging.
How to Complete A2P 10DLC Registration:
Create an account with The Campaign Registry (TCR)
Register your brand (provide EIN, business address, contact info)
Submit campaign use case (marketing, transactional, etc.)
Provide sample message templates
Wait for carrier approval (1-3 business days typical, up to 2 weeks for complex campaigns)
Receive your registered 10DLC number for SMS messaging
Required for: All US recipients, including Puerto Rico, Virgin Islands, Guam, and American Samoa
Sources: The Campaign Registry official documentation (2024), CTIA Messaging Principles & Best Practices (updated 2024), FCC TCPA guidelines, Twilio A2P 10DLC compliance documentation (2024)
SMS Consent Requirements and Opt-In Best Practices
Explicit written consent is mandatory before sending any marketing or promotional SMS messages to Puerto Rico recipients.
Sample Opt-In Message:
Code
Reply YES to receive special offers from [Brand]. Msg frequency varies. Msg & data rates may apply. Reply STOP to cancel, HELP for info.
Best Practices:
Collect written or digital consent with clear terms
Maintain detailed records of opt-in dates and methods
Specify message frequency and content type
Use double opt-in for marketing programs
Provide clear disclosure of message and data rates
HELP/STOP and Other Commands
Required Keywords: STOP, QUIT, CANCEL, UNSUBSCRIBE, HELP (English and Spanish)
Sample STOP Response (English):
Code
You've been unsubscribed from [Brand] messages. Reply START to resubscribe. Text HELP for assistance.
Sample STOP Response (Spanish):
Code
Te has dado de baja de mensajes de [Brand]. Responde START para volver a suscribirte. Envía HELP para ayuda.
Sample HELP Response (English):
Code
[Brand] - Msg frequency varies. Msg & data rates may apply. Text STOP to cancel. Help: [phone] or [email]
Requirements:
Acknowledge opt-out requests within 24 hours
Include program information, support contact, and message frequency
Do Not Call / Do Not Disturb Registries
Puerto Rico follows the US National Do Not Call Registry. Best practices include:
Regularly scrubbing contact lists against the National DNC Registry
Maintaining internal do-not-contact lists
Implementing immediate opt-out processing
Documenting all opt-out requests and processing dates
Puerto Rico Time Zone for SMS Scheduling (Atlantic Standard Time)
Puerto Rico observes Atlantic Standard Time (AST) year-round at UTC-4. The territory does not observe Daylight Saving Time – clocks do not change in Puerto Rico. The last DST change was on September 30, 1945.
Time relationship with US Eastern Time:
During US Daylight Saving Time (March–November): Puerto Rico is the same time as Eastern Daylight Time (EDT)
During US Standard Time (November–March): Puerto Rico is one hour ahead of Eastern Standard Time (EST)
Timezone Conversion Example (JavaScript/TypeScript):
TypeScript
import { DateTime } from'luxon';
// Convert to Atlantic Standard Time (AST)const now = DateTime.now().setZone('America/Puerto_Rico');
const hour = now.hour;
// Check if within allowed hours (8 AM - 8 PM AST)const isWithinBusinessHours = hour >= 8 && hour < 20;
if (!isWithinBusinessHours) {
// Schedule message for next day at 9 AM ASTconst nextSend = now.plus({ days: 1 }).set({ hour: 9, minute: 0 });
console.log(`Message scheduled for: ${nextSend.toISO()}`);
}
Recommended Messaging Hours:
Standard Business Hours: 8:00 AM – 8:00 PM AST (UTC-4)
Emergency Messages: Allowed 24/7 for critical notifications
Marketing Messages: Restrict to business hours only
Consider Holidays: Respect local holidays and cultural observances
Sources: TimeAndDate.com "Time Zones in Puerto Rico" (official time zone data, verified 2024), US Naval Observatory (UTC offset verification)
Phone Number Types for Puerto Rico SMS (10DLC, Short Codes, Toll-Free)
Alphanumeric Sender ID
Operator network capability: Not supported for dynamic usage
Registration requirements: Not applicable
Sender ID preservation: Not preserved – messages will display numeric sender ID
Long Codes
Domestic vs. International:
Domestic long codes supported with required 10DLC registration
International long codes not supported
Sender ID preservation: Yes, for registered 10DLC numbers
Provisioning time: 1-3 business days for 10DLC registration (typical), up to 2 weeks for complex campaigns
Use cases:
Two-factor authentication
Appointment reminders
Customer service
Transactional messages
10DLC Registration Requirements:
Item
Details
Registration Fee
$4 one-time (brand), $10/month (campaign)
Throughput Rate
1-2 messages per second (standard), up to 60 MPS (high trust)
Brand Reputation Score
0-100 scale (affects throughput)
Mandatory Since
July 2023
All businesses using 10-digit long codes must register with The Campaign Registry (TCR) before sending A2P SMS messages.
Source: The Campaign Registry official documentation (2024), CTIA A2P 10DLC requirements (2023-2024)
Short Codes
Support: US short codes supported by major carriers (Claro, T-Mobile, Liberty, AT&T)
Provisioning time: 8-12 weeks for new short code approval
Use cases:
High-volume marketing campaigns
Time-sensitive alerts
Mass notifications
Promotional campaigns
Restricted Content and Filtering Rules for Puerto Rico SMS
Prohibited Content:
Gambling and lottery services
Adult content or SHAFT (Sex, Hate, Alcohol, Firearms, Tobacco)
Cryptocurrency promotions
Debt collection
Political messaging without proper disclosure
Content Filtering
Carrier Filtering Rules:
Messages containing prohibited keywords are blocked
URLs must be from approved domains
High-frequency messaging may trigger spam filters
Best Practices to Avoid Filtering:
Avoid URL shorteners
Use registered domains
Maintain consistent sending patterns
Include clear business identification
Avoid excessive punctuation and all-caps
Common Filtering Issues & Solutions:
Issue
Cause
Solution
Messages blocked
Suspicious URLs
Use full domain URLs, avoid shorteners
Low delivery rates
Spam keywords detected
Remove phrases like "FREE!", "ACT NOW!"
Carrier filtering
High send volume
Reduce sending frequency, warm up new numbers
Content blocked
Prohibited keywords
Review carrier content policies
Best Practices for Sending SMS Messages to Puerto Rico
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-actions
Use personalization tokens thoughtfully
Maintain consistent sender identification
Sending Frequency and Timing
Optimal Sending Times by Industry:
Industry
Best Time (AST)
Best Days
Retail
10 AM - 2 PM
Tuesday - Thursday
Healthcare
9 AM - 11 AM
Monday - Friday
Financial Services
8 AM - 10 AM
Tuesday - Thursday
Hospitality
3 PM - 6 PM
Friday - Sunday
Limit marketing messages to 2-4 per month per recipient
Respect quiet hours (8 PM – 8 AM AST)
Avoid sending during major holidays
Space out bulk campaigns to prevent network congestion
Localization
Puerto Rican Holidays to Avoid:
January 6: Three Kings Day (Día de Reyes)
July 25: Constitution Day
November 19: Discovery of Puerto Rico Day
US federal holidays (New Year's, Memorial Day, Independence Day, Labor Day, Thanksgiving, Christmas)
Cultural Considerations:
Family-oriented messaging resonates well
Use formal greetings for professional contexts
Acknowledge both Spanish and English language preferences
Offer messages in both Spanish and English
Consider cultural context and local preferences
Use appropriate date and time formats
Include local contact information when possible
Opt-Out Management
Process opt-outs in real-time
Maintain centralized opt-out database
Confirm opt-outs with acknowledgment message
Regular audit of opt-out list compliance
Testing and Monitoring
Key Metrics to Track:
Metric
Acceptable Benchmark
Action Threshold
Delivery Rate
>95%
<90% investigate
Opt-Out Rate
<2% per campaign
>5% review content
Response Rate
Varies by use case
Track trends
Error Rate
<1%
>2% check formatting
Test across major carriers (Claro, T-Mobile, Liberty, AT&T)
Monitor delivery rates by carrier
Track opt-out rates and patterns
Regular testing of opt-out functionality
Monitor for carrier filtering changes
SMS API Integration for Puerto Rico (Twilio, Sinch, MessageBird, Plivo)
Twilio SMS API for Puerto Rico
Twilio provides robust SMS API support for sending messages to Puerto Rico phone numbers. Get your Account SID and Auth Token from the Twilio Console to get started.
TypeScript
import { Twilio } from'twilio';
// Initialize Twilio client with credentialsconst client = newTwilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Puerto RicoasyncfunctionsendSMSToPuertoRico(to: string,
message: string): Promise<void> {
try {
// Ensure number is in E.164 format for Puerto Rico (+1787XXXXXXX or +1939XXXXXXX)const formattedNumber = to.startsWith('+1') ? to : `+1${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER, // Your registered 10DLC or shortcodestatusCallback: 'https://your-webhook.com/status', // Optional delivery status updates
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error: any) {
// Handle specific Twilio error codesif (error.code === 21614) {
console.error('Invalid mobile number (possibly landline)');
} elseif (error.code === 21211) {
console.error('Invalid phone number format');
} elseif (error.code === 21408) {
console.error('Rate limit exceeded, implement backoff');
} else {
console.error('Error sending message:', error.message);
}
throw error;
}
}
Sinch SMS API Integration
Sinch offers SMS messaging capabilities for Puerto Rico through their REST API, requiring an API Token and Service Plan ID.
Monitor carrier feedback for delivery optimization
Error Handling and Reporting
Common API Error Codes:
Error Code
Meaning
Remediation
21211
Invalid phone number
Validate E.164 format (+1787/939XXXXXXX)
21408
Rate limit exceeded
Implement queue with rate limiting
21614
Not a mobile number
Filter landlines before sending
30003
Unreachable destination
Verify number is active
30005
Unknown destination
Check carrier coverage
30006
Landline or unreachable
Remove from SMS list
Implement comprehensive error logging
Monitor delivery receipts via webhooks
Track common error codes and responses
Set up alerts for unusual error rates
Maintain delivery status dashboard
Frequently Asked Questions About Puerto Rico SMS
Do I need 10DLC registration to send SMS in Puerto Rico?
Yes. 10DLC registration is mandatory for all businesses using 10-digit long codes to send Application-to-Person (A2P) SMS messages to Puerto Rico. As a US territory, Puerto Rico follows the same A2P 10DLC requirements as the US mainland. You must register your brand and campaign with The Campaign Registry (TCR) before sending messages. The registration process typically takes 1-3 business days, though complex campaigns can take up to two weeks. This requirement became mandatory industry-wide in July 2023.
What carriers operate in Puerto Rico?
Puerto Rico's mobile market is served by four major carriers: Claro (América Móvil, the market leader with approximately 2.5 million subscribers), T-Mobile, Liberty (Liberty Latin America), and AT&T (which maintains a significant presence with 39.7% of survey respondents in 2020). Claro dominates with the highest coverage score (9.1) and 99.4% availability. All carriers support US short codes and 10DLC long codes for business messaging.
What time zone should I use for SMS scheduling in Puerto Rico?
Puerto Rico observes Atlantic Standard Time (AST) at UTC-4 year-round. The territory does not observe Daylight Saving Time. During US Daylight Saving Time (March–November), Puerto Rico time matches Eastern Daylight Time (EDT). During US Standard Time (November–March), Puerto Rico is one hour ahead of Eastern Standard Time (EST). Schedule marketing messages between 8:00 AM and 8:00 PM AST to comply with TCPA regulations and respect local business hours.
What are the area codes for Puerto Rico phone numbers?
Puerto Rico uses area codes 787 and 939 as overlays covering the entire territory. Area code 787 was introduced on March 1, 1996, and area code 939 was added on September 15, 2001, due to number exhaustion. Both codes serve all geographic areas of Puerto Rico without division. 10-digit dialing is mandatory for all calls and SMS messages within Puerto Rico. Format numbers in E.164 format for SMS APIs: +1787XXXXXXX or +1939XXXXXXX.
Does Puerto Rico follow US TCPA regulations?
Yes. As a US territory, Puerto Rico follows all US federal telecommunications regulations, including the Telephone Consumer Protection Act (TCPA) and CTIA Messaging Principles & Best Practices. You must obtain explicit consent before sending marketing messages, support STOP/HELP keywords in both English and Spanish, honor opt-out requests immediately, respect quiet hours (8 PM – 8 AM AST), and scrub contact lists against the US National Do Not Call Registry. Non-compliance can result in penalties up to $1,500 per violation.
Can I send concatenated or long SMS messages to Puerto Rico?
No. Concatenated messaging is not supported through most platforms for Puerto Rico. Messages are limited to standard SMS character limits: 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). If you need to send longer content, split messages manually or use MMS (which will be converted to SMS with an embedded URL link to the media content). Use GSM-7 encoding for standard ASCII characters to maximize message length.
Is number portability available in Puerto Rico?
No. Number portability is not available in Puerto Rico. Phone numbers remain tied to their original carriers (Claro, T-Mobile, Liberty, or AT&T). This means you can reliably determine which carrier serves a specific number based on the number's assignment history, which can help optimize message routing and delivery strategies. However, it also means customers cannot switch carriers while keeping their existing phone numbers.
What languages should I support for SMS in Puerto Rico?
Support both Spanish and English. While Spanish is the primary language spoken by the majority of Puerto Rico's population, English is also an official language and widely understood, especially in business contexts. All required opt-out keywords (STOP, QUIT, CANCEL, UNSUBSCRIBE, HELP) must be recognized in both languages. Consider offering recipients the choice of language preference and maintain consistent language throughout your messaging campaigns.
Can I send SMS to landline numbers in Puerto Rico?
No. Sending SMS to landline numbers is not supported in Puerto Rico. Attempts to send messages to landline numbers will result in a 400 response error (code 21614) through REST APIs, with no message delivery and no charges applied to your account. Always validate phone numbers before sending to ensure they are mobile numbers. Use number validation APIs or maintain clean subscriber lists that exclude landlines.
How long does 10DLC registration take for Puerto Rico?
10DLC registration typically takes 1-3 business days for standard campaigns, though complex campaigns can take up to two weeks. The process involves registering your brand with The Campaign Registry (TCR), providing business documentation (EIN, business address, contact information), creating campaign use cases (marketing, transactional, etc.), and waiting for carrier approval. Once approved, you can begin sending SMS messages to Puerto Rico at rates of 1-2 messages per second for standard 10DLC numbers.
What Should You Do Next?
You've learned the essential requirements for sending SMS in Puerto Rico as a US territory. Take these next steps to launch compliant, effective SMS campaigns:
Register for 10DLC: Complete brand and campaign registration through The Campaign Registry (TCR) if you haven't already – this is mandatory for all long code messaging
Choose Your Carrier Strategy: Test message delivery across all major Puerto Rico carriers (Claro, T-Mobile, Liberty, AT&T) to optimize routing
Set Up Compliance Systems: Implement opt-in/opt-out management, consent tracking, and TCPA-compliant scheduling (8 AM – 8 PM AST)
Format Numbers Correctly: Ensure all phone numbers use E.164 format (+1787XXXXXXX or +1939XXXXXXX) for reliable delivery
Implement Bilingual Support: Configure systems to handle both Spanish and English opt-out keywords and help messages
Monitor Delivery Metrics: Track delivery rates, opt-out patterns, and carrier-specific performance to optimize campaigns
Review TCPA Guidelines: Familiarize yourself with current TCPA regulations and CTIA best practices to avoid penalties
Key Compliance Reminders:
Maintain detailed records of opt-in dates and methods
Process opt-out requests within 24 hours
Respect Atlantic Standard Time (UTC-4, no DST) for scheduling
Scrub contact lists against the National Do Not Call Registry
Never send marketing messages to numbers without explicit consent
Sources: FCC official documentation, CTIA official guidelines, The Campaign Registry official site, DataReportal Digital 2024: Puerto Rico, BNamericas market analysis (2024)
Start sending compliant SMS messages to Puerto Rico today by following these guidelines and leveraging the territory's 82.7% mobile penetration rate to reach your target audience effectively.
Frequently asked questions
Use a registered 10DLC long code or a US short code through providers like Twilio, Sinch, MessageBird, or Plivo. Ensure the recipient numbers are in E.164 format (+1787XXXXXXX or +1939XXXXXXX) and comply with TCPA and CTIA guidelines for messaging.
While WhatsApp and other OTT apps are popular for personal communication, SMS remains the preferred channel for business and verification messages due to its reliability and broad reach across the island.
As a US territory, Puerto Rico adheres to US federal regulations like the TCPA and CTIA guidelines, impacting areas like consent, opt-out requirements, and content restrictions for business messaging.
Send marketing messages between 8:00 AM and 8:00 PM Atlantic Standard Time (AST) to respect local time zones and avoid sending messages during quiet hours or major holidays.
No, sending SMS to landlines in Puerto Rico is not supported and will result in a 400 response error (code 21614) through the REST API with no message delivery or charges.
Standard SMS character limits apply: 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). Exceeding these limits results in segmented messages, which are not supported by the Sent.dm platform for Puerto Rico.
Explicit consent is required before sending marketing messages. Obtain written or digital consent, specify message frequency and content, use double opt-in, disclose message and data rates, and maintain records.
Registering for 10DLC is required for using long codes in Puerto Rico, ensuring compliance with US regulations. This process typically takes 1-3 business days and involves providing information about your business and messaging use case through your chosen messaging provider.
Standard opt-out keywords like STOP, QUIT, CANCEL, UNSUBSCRIBE, and HELP must be supported in both English and Spanish. Opt-out requests should be acknowledged within 24 hours.
Prohibited content includes gambling, adult material, SHAFT (Sex, Hate, Alcohol, Firearms, Tobacco), cryptocurrency promotions, debt collection, and political messaging without proper disclosure.
Avoid URL shorteners, use registered domains, maintain consistent sending patterns, include clear business identification, and avoid excessive punctuation and all-caps to prevent carrier filtering.
Popular providers include Twilio, Sinch, MessageBird, and Plivo, offering robust APIs for sending and managing SMS messages. Choose a provider that best suits your specific needs and integration requirements.
Support both Spanish and English, consider cultural context and local preferences, use appropriate date and time formats, and include local contact information.
Limit marketing messages to 2-4 per month per recipient. Respect quiet hours (8 PM - 8 AM AST) and avoid sending during major holidays to maintain positive customer relationships.
Process opt-outs in real-time, maintain a centralized opt-out database, confirm opt-outs with an acknowledgment message, and regularly audit your opt-out list for compliance.
Learn how to send SMS messages to Puerto Rico while maintaining compliance with US federal regulations. This comprehensive guide covers 10DLC registration requirements, TCPA compliance rules, carrier integration (Claro, T-Mobile, Liberty, AT&T), and best practices for reaching Puerto Rico's 2.70 million mobile connections (82.7% penetration rate).
Puerto Rico SMS Quick Reference Guide
Market Overview:
Compliance Requirements:
Number Formatting:
+1787XXXXXXXor+1939XXXXXXXKey Features:
Understanding the Puerto Rico SMS Market
Market Conditions:
SMS ensures reliable delivery across all carriers, while OTT messaging apps remain popular for personal communication only.
Sources: DataReportal Digital 2024: Puerto Rico (population and connection statistics, January 2024), BNamericas Puerto Rico mobile market analysis (2024), Statista mobile provider survey (2020), Opensignal Puerto Rico Mobile Network Experience Report (May 2023)
SMS Features and Capabilities in Puerto Rico
Puerto Rico supports comprehensive SMS capabilities including two-way messaging, with features and regulations aligned with US mainland standards.
Two-way SMS Support
Two-way SMS is fully supported. Use it for:
No special restrictions apply beyond standard US messaging regulations.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not supported through the Sent.dm platform for Puerto Rico. Message length rules: Messages follow standard SMS character limits – 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with GSM-7 recommended for standard ASCII characters to maximize message length.
Character Encoding Comparison:
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to the media content.
Supported Media Types: Images (JPEG, PNG, GIF), videos (MP4, MOV), audio (MP3, AAC) File Size Limit: 5 MB maximum URL Expiration: Links expire after 30 days
How Do Puerto Rico Phone Numbers Work?
Number Portability
Number portability is not available in Puerto Rico. Phone numbers remain tied to their original carriers, which can help ensure more reliable message routing.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported. Attempts return error code 21614:
{ "code": 21614, "message": "'To' number is not a valid mobile number", "status": 400 }No charges apply for failed landline deliveries.
Area Code Coverage
Puerto Rico uses area codes 787 and 939 as overlays, meaning both codes cover the entire territory rather than dividing it geographically. Area code 787 was introduced on March 1, 1996, and area code 939 was added as an overlay on September 15, 2001, due to number exhaustion. 10-digit dialing is mandatory within Puerto Rico for all calls and SMS messages.
Phone numbers must be formatted in E.164 format for international routing:
+1787XXXXXXXor+1939XXXXXXX.Sources: Wikipedia "Telephone numbers in Puerto Rico" (area code history and structure, verified 2024), North American Numbering Plan Administration (NANPA) official documentation
Puerto Rico SMS Compliance and Regulatory Requirements
As a US territory, Puerto Rico follows US federal telecommunications regulations, including TCPA (Telephone Consumer Protection Act) and CTIA Messaging Principles & Best Practices. Businesses must comply with both federal requirements and carrier-specific rules for A2P messaging.
How to Complete A2P 10DLC Registration:
Required for: All US recipients, including Puerto Rico, Virgin Islands, Guam, and American Samoa
Sources: The Campaign Registry official documentation (2024), CTIA Messaging Principles & Best Practices (updated 2024), FCC TCPA guidelines, Twilio A2P 10DLC compliance documentation (2024)
SMS Consent Requirements and Opt-In Best Practices
Explicit written consent is mandatory before sending any marketing or promotional SMS messages to Puerto Rico recipients.
Sample Opt-In Message:
Best Practices:
HELP/STOP and Other Commands
Required Keywords: STOP, QUIT, CANCEL, UNSUBSCRIBE, HELP (English and Spanish)
Sample STOP Response (English):
Sample STOP Response (Spanish):
Sample HELP Response (English):
Requirements:
Do Not Call / Do Not Disturb Registries
Puerto Rico follows the US National Do Not Call Registry. Best practices include:
Puerto Rico Time Zone for SMS Scheduling (Atlantic Standard Time)
Puerto Rico observes Atlantic Standard Time (AST) year-round at UTC-4. The territory does not observe Daylight Saving Time – clocks do not change in Puerto Rico. The last DST change was on September 30, 1945.
Time relationship with US Eastern Time:
Timezone Conversion Example (JavaScript/TypeScript):
import { DateTime } from 'luxon'; // Convert to Atlantic Standard Time (AST) const now = DateTime.now().setZone('America/Puerto_Rico'); const hour = now.hour; // Check if within allowed hours (8 AM - 8 PM AST) const isWithinBusinessHours = hour >= 8 && hour < 20; if (!isWithinBusinessHours) { // Schedule message for next day at 9 AM AST const nextSend = now.plus({ days: 1 }).set({ hour: 9, minute: 0 }); console.log(`Message scheduled for: ${nextSend.toISO()}`); }Recommended Messaging Hours:
Sources: TimeAndDate.com "Time Zones in Puerto Rico" (official time zone data, verified 2024), US Naval Observatory (UTC offset verification)
Phone Number Types for Puerto Rico SMS (10DLC, Short Codes, Toll-Free)
Alphanumeric Sender ID
Operator network capability: Not supported for dynamic usage Registration requirements: Not applicable Sender ID preservation: Not preserved – messages will display numeric sender ID
Long Codes
Domestic vs. International:
Sender ID preservation: Yes, for registered 10DLC numbers Provisioning time: 1-3 business days for 10DLC registration (typical), up to 2 weeks for complex campaigns Use cases:
10DLC Registration Requirements:
All businesses using 10-digit long codes must register with The Campaign Registry (TCR) before sending A2P SMS messages.
Source: The Campaign Registry official documentation (2024), CTIA A2P 10DLC requirements (2023-2024)
Short Codes
Support: US short codes supported by major carriers (Claro, T-Mobile, Liberty, AT&T) Provisioning time: 8-12 weeks for new short code approval Use cases:
Restricted Content and Filtering Rules for Puerto Rico SMS
Prohibited Content:
Content Filtering
Carrier Filtering Rules:
Best Practices to Avoid Filtering:
Common Filtering Issues & Solutions:
Best Practices for Sending SMS Messages to Puerto Rico
Messaging Strategy
Sending Frequency and Timing
Optimal Sending Times by Industry:
Localization
Puerto Rican Holidays to Avoid:
Cultural Considerations:
Family-oriented messaging resonates well
Use formal greetings for professional contexts
Acknowledge both Spanish and English language preferences
Offer messages in both Spanish and English
Consider cultural context and local preferences
Use appropriate date and time formats
Include local contact information when possible
Opt-Out Management
Testing and Monitoring
Key Metrics to Track:
SMS API Integration for Puerto Rico (Twilio, Sinch, MessageBird, Plivo)
Twilio SMS API for Puerto Rico
Twilio provides robust SMS API support for sending messages to Puerto Rico phone numbers. Get your Account SID and Auth Token from the Twilio Console to get started.
import { Twilio } from 'twilio'; // Initialize Twilio client with credentials const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN ); // Function to send SMS to Puerto Rico async function sendSMSToPuertoRico( to: string, message: string ): Promise<void> { try { // Ensure number is in E.164 format for Puerto Rico (+1787XXXXXXX or +1939XXXXXXX) const formattedNumber = to.startsWith('+1') ? to : `+1${to}`; const response = await client.messages.create({ body: message, to: formattedNumber, from: process.env.TWILIO_PHONE_NUMBER, // Your registered 10DLC or shortcode statusCallback: 'https://your-webhook.com/status', // Optional delivery status updates }); console.log(`Message sent successfully! SID: ${response.sid}`); } catch (error: any) { // Handle specific Twilio error codes if (error.code === 21614) { console.error('Invalid mobile number (possibly landline)'); } else if (error.code === 21211) { console.error('Invalid phone number format'); } else if (error.code === 21408) { console.error('Rate limit exceeded, implement backoff'); } else { console.error('Error sending message:', error.message); } throw error; } }Sinch SMS API Integration
Sinch offers SMS messaging capabilities for Puerto Rico through their REST API, requiring an API Token and Service Plan ID.
import axios from 'axios'; class SinchSMSService { private readonly apiToken: string; private readonly servicePlanId: string; private readonly baseUrl: string = 'https://us.sms.api.sinch.com/xms/v1'; constructor(apiToken: string, servicePlanId: string) { this.apiToken = apiToken; this.servicePlanId = servicePlanId; } async sendSMS(to: string, message: string): Promise<void> { try { const response = await axios.post( `${this.baseUrl}/${this.servicePlanId}/batches`, { from: process.env.SINCH_SENDER_ID, to: [to], body: message }, { headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${this.apiToken}` } } ); console.log('Message sent successfully:', response.data.id); } catch (error) { console.error('Failed to send message:', error); throw error; } } }MessageBird SMS API for Puerto Rico
MessageBird provides SMS API access for Puerto Rico messaging with straightforward integration options.
import { MessageBird } from 'messagebird'; class MessageBirdService { private client: MessageBird; constructor(apiKey: string) { this.client = new MessageBird(apiKey); } async sendSMS(to: string, message: string): Promise<void> { const params = { originator: process.env.MESSAGEBIRD_SENDER_ID, recipients: [to], body: message, reportUrl: 'https://your-webhook.com/delivery-reports' }; return new Promise((resolve, reject) => { this.client.messages.create(params, (err, response) => { if (err) { console.error('Error sending message:', err); reject(err); } else { console.log('Message sent successfully:', response.id); resolve(); } }); }); } }Plivo SMS API Integration for Puerto Rico
Plivo's SMS API provides reliable message delivery to Puerto Rico phone numbers with detailed delivery tracking and status callbacks.
import plivo from 'plivo'; class PlivoSMSService { private client: plivo.Client; constructor(authId: string, authToken: string) { this.client = new plivo.Client(authId, authToken); } async sendSMS(to: string, message: string): Promise<void> { try { const response = await this.client.messages.create({ src: process.env.PLIVO_SOURCE_NUMBER, // Your Plivo number dst: to, text: message, url: 'https://your-webhook.com/delivery-status' }); console.log('Message sent successfully:', response.messageUuid); } catch (error) { console.error('Failed to send message:', error); throw error; } } }API Rate Limits and Throughput
Throughput Management Example (Redis Queue):
import Redis from 'ioredis'; const redis = new Redis(); async function queueMessage(to: string, message: string) { await redis.lpush('sms_queue', JSON.stringify({ to, message, timestamp: Date.now() })); } async function processQueue(rateLimitPerSecond: number = 2) { while (true) { const item = await redis.rpop('sms_queue'); if (item) { const { to, message } = JSON.parse(item); await sendSMSToPuertoRico(to, message); await new Promise(resolve => setTimeout(resolve, 1000 / rateLimitPerSecond)); } } }Strategies:
Error Handling and Reporting
Common API Error Codes:
Frequently Asked Questions About Puerto Rico SMS
Do I need 10DLC registration to send SMS in Puerto Rico?
Yes. 10DLC registration is mandatory for all businesses using 10-digit long codes to send Application-to-Person (A2P) SMS messages to Puerto Rico. As a US territory, Puerto Rico follows the same A2P 10DLC requirements as the US mainland. You must register your brand and campaign with The Campaign Registry (TCR) before sending messages. The registration process typically takes 1-3 business days, though complex campaigns can take up to two weeks. This requirement became mandatory industry-wide in July 2023.
What carriers operate in Puerto Rico?
Puerto Rico's mobile market is served by four major carriers: Claro (América Móvil, the market leader with approximately 2.5 million subscribers), T-Mobile, Liberty (Liberty Latin America), and AT&T (which maintains a significant presence with 39.7% of survey respondents in 2020). Claro dominates with the highest coverage score (9.1) and 99.4% availability. All carriers support US short codes and 10DLC long codes for business messaging.
What time zone should I use for SMS scheduling in Puerto Rico?
Puerto Rico observes Atlantic Standard Time (AST) at UTC-4 year-round. The territory does not observe Daylight Saving Time. During US Daylight Saving Time (March–November), Puerto Rico time matches Eastern Daylight Time (EDT). During US Standard Time (November–March), Puerto Rico is one hour ahead of Eastern Standard Time (EST). Schedule marketing messages between 8:00 AM and 8:00 PM AST to comply with TCPA regulations and respect local business hours.
What are the area codes for Puerto Rico phone numbers?
Puerto Rico uses area codes 787 and 939 as overlays covering the entire territory. Area code 787 was introduced on March 1, 1996, and area code 939 was added on September 15, 2001, due to number exhaustion. Both codes serve all geographic areas of Puerto Rico without division. 10-digit dialing is mandatory for all calls and SMS messages within Puerto Rico. Format numbers in E.164 format for SMS APIs:
+1787XXXXXXXor+1939XXXXXXX.Does Puerto Rico follow US TCPA regulations?
Yes. As a US territory, Puerto Rico follows all US federal telecommunications regulations, including the Telephone Consumer Protection Act (TCPA) and CTIA Messaging Principles & Best Practices. You must obtain explicit consent before sending marketing messages, support STOP/HELP keywords in both English and Spanish, honor opt-out requests immediately, respect quiet hours (8 PM – 8 AM AST), and scrub contact lists against the US National Do Not Call Registry. Non-compliance can result in penalties up to $1,500 per violation.
Can I send concatenated or long SMS messages to Puerto Rico?
No. Concatenated messaging is not supported through most platforms for Puerto Rico. Messages are limited to standard SMS character limits: 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). If you need to send longer content, split messages manually or use MMS (which will be converted to SMS with an embedded URL link to the media content). Use GSM-7 encoding for standard ASCII characters to maximize message length.
Is number portability available in Puerto Rico?
No. Number portability is not available in Puerto Rico. Phone numbers remain tied to their original carriers (Claro, T-Mobile, Liberty, or AT&T). This means you can reliably determine which carrier serves a specific number based on the number's assignment history, which can help optimize message routing and delivery strategies. However, it also means customers cannot switch carriers while keeping their existing phone numbers.
What languages should I support for SMS in Puerto Rico?
Support both Spanish and English. While Spanish is the primary language spoken by the majority of Puerto Rico's population, English is also an official language and widely understood, especially in business contexts. All required opt-out keywords (STOP, QUIT, CANCEL, UNSUBSCRIBE, HELP) must be recognized in both languages. Consider offering recipients the choice of language preference and maintain consistent language throughout your messaging campaigns.
Can I send SMS to landline numbers in Puerto Rico?
No. Sending SMS to landline numbers is not supported in Puerto Rico. Attempts to send messages to landline numbers will result in a 400 response error (code 21614) through REST APIs, with no message delivery and no charges applied to your account. Always validate phone numbers before sending to ensure they are mobile numbers. Use number validation APIs or maintain clean subscriber lists that exclude landlines.
How long does 10DLC registration take for Puerto Rico?
10DLC registration typically takes 1-3 business days for standard campaigns, though complex campaigns can take up to two weeks. The process involves registering your brand with The Campaign Registry (TCR), providing business documentation (EIN, business address, contact information), creating campaign use cases (marketing, transactional, etc.), and waiting for carrier approval. Once approved, you can begin sending SMS messages to Puerto Rico at rates of 1-2 messages per second for standard 10DLC numbers.
What Should You Do Next?
You've learned the essential requirements for sending SMS in Puerto Rico as a US territory. Take these next steps to launch compliant, effective SMS campaigns:
+1787XXXXXXXor+1939XXXXXXX) for reliable deliveryKey Compliance Reminders:
Additional Resources:
Sources: FCC official documentation, CTIA official guidelines, The Campaign Registry official site, DataReportal Digital 2024: Puerto Rico, BNamericas market analysis (2024)
Start sending compliant SMS messages to Puerto Rico today by following these guidelines and leveraging the territory's 82.7% mobile penetration rate to reach your target audience effectively.