Twilio

Twilio Error Code 30007

Twilio error 30007 means a carrier or Twilio filtered your SMS as spam. Remove spam-like content, prove opt-in, and complete A2P 10DLC registration.

Updated Jul 1, 2026

The short answer

Twilio error 30007 ("Message filtered") means your SMS/MMS was accepted by Twilio but then blocked by a wireless carrier's spam filter or by Twilio's own policy enforcement before reaching the handset. It is a content/reputation block, not a number or routing failure. Fix it by removing spam-like content, proving opt-in, registering A2P 10DLC, and warming sender reputation.

Twilio error 30007 carries the message "Message filtered." Per Twilio's error reference, it means your message was accepted by Twilio and submitted to the downstream carrier, but was then blocked before reaching the handset — either by a wireless carrier's spam filter or by Twilio's own policy enforcement. The message will show a final status of undelivered.

This is the key distinction: 30007 is not a bad-number, blocked-recipient, or unreachable-route error (those are 30005, 30004, 30003, and 30006 respectively). It is a reputation and content verdict. The carrier rarely tells you the exact rule it tripped, so troubleshooting means working backward through the known signals.

What causes Twilio error 30007?

Twilio's documentation attributes 30007 to a message being identified as spam, phishing, or fraud, or to violating a carrier's content rules. In practice the triggers fall into a few buckets:

  • Spam-flagged content — promotional language, "free," prize/loan/crypto/CBD/gambling terms, ALL CAPS, excessive emojis, or messages that look like unsolicited marketing.
  • Public URL shorteners — shared shorteners like bit.ly and tinyurl are heavily filtered because spammers abuse them. Carriers also block URLs whose domain has poor reputation.
  • No provable opt-in — sending to recipients who never consented. Carriers filter traffic that doesn't match documented opt-in patterns.
  • Sender reputation / traffic shape — high volume from a new number, identical messages blasted to many recipients (snowshoeing), or a high complaint/opt-out rate.
  • Policy violations — content that breaches Twilio's Messaging Policy or Acceptable Use Policy.

Note: a fully unregistered US +1 10DLC number is now hard-blocked on every send — that failure surfaces as error 30034, not 30007. However, campaigns that are registered but carry a low Trust Score (weak brand vetting) do see materially higher 30007-style carrier filtering; improving your Trust Score through Twilio's secondary vetting reduces this. Registration status and vetting quality both factor into how carriers treat your A2P 10DLC traffic.

How do I fix Twilio error 30007?

1. Rewrite the message content. Remove spam trigger words, drop the all-caps, and avoid promotional framing on transactional senders. Include your business name and clear opt-out language ("Reply STOP to unsubscribe").

2. Replace public URL shorteners. Carriers flag shared shorteners like bit.ly and tinyurl because spammers abuse them — use a branded/dedicated short domain or your own full domain instead.

3. Confirm opt-in. Only message recipients who explicitly consented, and keep records of how and when they opted in.

4. Register A2P 10DLC (US traffic) and maintain your Trust Score. Complete brand and campaign registration through The Campaign Registry via Twilio, and keep your brand's vetting/Trust Score healthy. Unregistered traffic is hard-blocked as 30034; registered-but-low-trust campaigns still see elevated 30007 filtering.

5. Smooth your sending. Vary message bodies, avoid sudden volume spikes from a new number, and monitor opt-out/complaint rates.

6. If you believe you're compliant, escalate to Twilio. Per Twilio's guidance, collect 3 or more Message SIDs with undelivered status and error 30007, then open a Twilio Support ticket. Twilio can review the traffic and route you to its Compliance team to dispute a carrier block.

If you send through Courier, the 30007 verdict comes from Twilio and surfaces in Courier's message logs — inspect the Twilio provider response there, then apply the content/opt-in/10DLC fixes above before retrying.

FAQ

Common questions

No. 30007 means a carrier or Twilio filtered your message as spam/policy-violating content after it was submitted. 30034 specifically means you sent from an unregistered US +1 10DLC number, which is hard-blocked on every send. Registered campaigns with a low Trust Score can still see elevated 30007-style filtering, but that's a different mechanism than the deterministic 30034 block.

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.