Twilio error 30006 is triggered when the destination number can’t receive your text message. Possible reasons include the number being a landline or a short code failing to reach the carrier. Twilio error code 30006 is an SMS delivery failure error, not a bug in your code. 

This blog explains what this error means, why it occurs, and how to fix it. 

TL;DR

  • Twilio error 30006 is an SMS delivery failure that occurs when the destination number can’t receive your text message. 
  • The most common reason is that the number is a landline or an unreachable recipient carrier. 
  • You can fix it by checking the line type, removing landline numbers, and adding a fallback sender. 
  • A phone number validation tool like Landline Remover helps you check the line type of numbers and filter out numbers that can’t receive text messages.
  • Book a demo to see how it works and clean your list in real-time. 

What is Twilio Error 30006?

For marketing and customer outreach purposes, Twilio offers APIs for programmable calls and text messages. However, it is not perfect and sometimes returns errors. One of the most common errors is 30006. In simple terms, Twilio error code 30006 means the number you are trying to send an SMS to is a landline or is on an unreachable carrier. This error is triggered when the number you texted can’t receive your message. 

Error 30006 is a message-delivery error, not a bug in your code. 

Why Twilio Error Code 30006 Occurs

There are three main reasons why Twilio error code 30006 occurs. 

1. The number is a landline.

Landlines and some fixed VoIP numbers can’t receive text messages. By default, Twilio tries to deliver SMS messages to landline numbers in the US, Canada, and the UK, which results in failed delivery charges. You can prevent this by including the forceDelivery=false parameter in your API request. 

2. A short code can’t reach the carrier.

Short codes are the 5- or 6-digit numbers that brands use to send text messages. Twilio error 30006 occurs when a short code can’t reach the destination carrier. In that case, the carrier returns an unreachable and undeliverable response. That’s why Twilio recommends a long code fallback. 

3. The line type is wrong for texting.

It may happen that a number is real but is still the wrong type. A phone number validation tool like Landline Remover helps you identify the line type: landline, mobile, or VoIP. Remember that not every type can receive SMS. Even Twilio’s Lookup tool labels numbers as landline, mobile, fixed VoIP, or non-fixed VoIP. 

How Can You Fix Twilio Error 30006?

Here are a few steps that you need to take to fix Twilio error 30006. 

1. Find the failed message.

Open your messaging logs and filter for error code 30006, then note the “To” numbers. 

2. Check the line type.

Run each number through Twilio’s Lookup API, Landline Remover API, or any other Lookup API. If it says landlines, remove it from the list. Twilio recommends that you should not retry the same text to that number. 

3. Remove landlines from your contact list.

Call landlines instead of sending text messages, or move them to a voice list. 

4. Check your sender.

Check whether the sender is using a short code. If so, add a long code to a Messaging Service. Twilio can fall back to it when the short code can’t get through. 

5. Test the mobile numbers.

If the number is mobile, ask these three questions:

  • Can the phone get texts from other people?
  • Can it get a short, one-part text from another Twilio number?
  • Can other phones on the same carrier get your texts?

6. Retry once after some time.

Sometimes a single error can come from a brief downstream glitch. Only retry mobile numbers, not landlines. 

7. Move to a Better Coverage Area.

Poor network connectivity can also cause error code 30006, so try moving to an area with better network connectivity.

8. Contact Twilio support.

If you are still stuck, nothing works, and your target device works fine with other SMS messages outside of Twilio, get in touch with the Twilio Support team. 

Note: If most 30006 errors come from one imported list, the source list is the problem. Fix that list and all your problems will be resolved. 

For example:

To: +1 555 01X 0XX2 

Status: undelivered 

ErrorCode: 30006 

Lookup line type: landline 

Action: remove from SMS list 

Twilio Error 30006 vs. Error Code 30003

People often get confused about this. Error code 30003 means “unreachable destination handset.” Twilio’s 30003 docs list a landline as one cause too. This means both errors point to a number that can’t receive text messages. 

Let’s understand how they differ. 

Error 30006

Error 30003

Twilio name

Landline or unreachable carrier

Unreachable destination handset

Meaning

The number can’t receive SMS, or a short code can’t reach the carrier.

The phone is off, has no service, or can’t receive SMS.

Other causes

Wrong line type for your use case

Carrier network trouble, short code not on the user's plan, carrier filtering. 

Fix

Check line type with Lookup

Check the phone is on, has signal, and can get SMS.

Retry

Not for landlines

Maybe once when the phone or network is back. 

A general rule of thumb: 30006 = wrong type of number, and 30003 = right number, wrong moment. Landline causes both, so run Lookup either way. 

What are Some Other Twilio Error Codes to Know

Twilio has a long list of error codes. Usually, you see these errors in the same logs. 

Code

Name

Meaning

30003

Unreachable destination handset

The phone is off and can’t receive the text.

30007

Carrier violation

The carrier filtered your message.

30008

Unknown error

The carrier gave a generic error.

Always check Twilio’s error dictionary for the latest list. 

How to Prevent the Error 30006

The best way to prevent Twilio error 30006 is to stop it before you send the text message, so you won’t have to bear charges for those undelivered texts. Here are a few steps that you can take to prevent error 30006. 

1. Check line type. 

You should check the line type of each number before sending text messages. Do it for every new list. Twilio offers Lookup Line Type Intelligence for it. 

2. Log every failure.

Build a StatusCallback handler that saves each ErrorCode. When 30006 appears, flag the number so you never text it again. Twilio recommends this too. Over time, your list gets cleaner and your failed-message count drops. 

3. Clean your contact list on a schedule.

You must run Lookup every quarter, every year, after an increased rate of failed messages, and whenever you import a new contact list. 

4. Filter out landline numbers from your list.

Landline Remover checks whether a number is mobile or landline so you can easily filter out landline numbers from a big list before you send. It handles the landline cause of 30006 but not the carrier-side issues like a short code that can’t get through. Read our blog on Phone Carrier Lookup to learn more about this. 

Want to send texts at scale? Pair a clean list with Textdrip’s SMS campaign features.

Final Thoughts

Twilio error 30006 looks scary, but it is easy to fix. Check whether the number is a landline, and if it is, remove it from your contact list. If you use a short code, add a long code fallback. Log each failure so you catch a bad number once. Doing these manually for each number is time-consuming. What if you get the clean list before you send your SMS campaign? With Landline Remover, it is possible. 

Try Landline Remover today to see which numbers are mobile and which are landlines, and filter out numbers that can’t receive your text messages.