Twilio
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.
Twilio's error dictionary gives 30006 the label "Landline or unreachable carrier." There are two distinct underlying causes:
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.
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
References
FAQ
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
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.
© 2026 Courier. All rights reserved.