Twilio

Twilio Error Code 30006

Twilio error 30006 means the destination is a landline or the carrier was unreachable. Use Lookup Line Type Intelligence and fallback senders to fix it.

Updated Jul 1, 2026

The short answer

Twilio error 30006 is an asynchronous SMS delivery failure meaning the destination couldn't receive your message — either it's a landline that can't accept SMS, or a short code couldn't reach the recipient's carrier. Fix it by running Lookup Line Type Intelligence before sending to skip landlines, and add a long-code or toll-free fallback sender to your Messaging Service for unreachable carriers.

Error 30006 is a Twilio message-delivery error, not an API submission rejection. Your POST /Messages request succeeded (HTTP 201) and the message reached queued/sent, but Twilio later marked it undelivered with ErrorCode 30006 — surfaced through your StatusCallback or the message resource, not in the original API response.

What causes Twilio error 30006?

Twilio's error dictionary gives 30006 the label "Landline or unreachable carrier." There are two distinct underlying causes:

  • The destination is a landline. Landline (and some fixed-VoIP) numbers generally cannot receive SMS. By default Twilio still attempts long-code SMS to landlines in the US, Canada, and UK because some are SMS-enabled — so the failure shows up downstream as 30006 rather than at submission time.
  • A short code could not reach the destination carrier. When you send from a short code, the recipient's mobile carrier may not have a delivery route for that short code, so the carrier returns an unreachable/undeliverable response.

Note this is different from synchronous error 21635 ("'To' number cannot be a landline"), which Twilio raises at submission time when Lookup-backed validation already knows the number is a landline. 30006 is what you get when delivery is attempted and fails afterward.

How do I fix Twilio error 30006?

1. Screen numbers with Lookup Line Type Intelligence before sending. Query the number and inspect line_type_intelligence.type:

curl -X GET "https://lookups.twilio.com/v2/PhoneNumbers/+15108675310?Fields=line_type_intelligence" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"

If type returns landline (or, depending on your use case, fixedVoip), do not send the SMS — route that contact to voice or email instead. Skipping known landlines is the single most effective fix.

2. Do not blindly retry. Re-attempting the same SMS to a confirmed landline will fail again and can waste spend and reputation. Suppress numbers that repeatedly return 30006.

3. Add a fallback sender for the unreachable-carrier case. If 30006 hits mobile numbers sent from a short code, the short code likely lacks a route to that carrier. Put your short code in a Messaging Service alongside a long code (A2P 10DLC) or toll-free number so Twilio can fall back to a sender that can reach the carrier.

4. Monitor and exclude bad destinations. Capture ErrorCode in your StatusCallback handler (or via the Messages log / Message Insights) and add persistent 30006 numbers to a suppression list.

5. ForceDelivery. Twilio's documentation on ForceDelivery is inconsistent: the general Messages resource parameter reference lists it only as "Reserved," while the 21635 error page still describes it as letting you attempt delivery to a landline where supported (with no delivery guarantee). Treat it as unreliable and prefer Lookup Line Type Intelligence as the primary, documented fix.

With Courier

Courier surfaces the Twilio provider error on the message. Run Courier's Lookup-equivalent or your own pre-send check to drop landlines, and configure a Twilio Messaging Service (with a long-code/toll-free fallback) as the provider sender so unreachable-carrier sends can re-route.

FAQ

Common questions

No. 21635 ("'To' number cannot be a landline") is a synchronous error Twilio returns at submission time when it already knows the number is a landline. 30006 is an asynchronous delivery error returned after Twilio attempts delivery and the message fails because the destination is a landline or the carrier was unreachable.

One API, every provider

Stop debugging raw provider errors

Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.

Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.