How to Block Spam Texts by Keyword on iPhone (No Jailbreak Required)
TL;DR
- iOS lets you block phone numbers, but it has no way to block texts based on what the message actually says. That gap is why third-party SMS filter apps exist.
- Spammers rotate through hundreds of numbers a week, but the wording barely changes. Filtering by content is what catches the pattern.
- Apple’s SMS Filter API (available since iOS 11) lets approved apps screen incoming texts from unknown senders before they hit your inbox, on-device.
- Setup with Not Today takes about two minutes: install the app, then enable it under Settings > Apps > Messages > SMS/MMS > Not Today.
- Start with high-signal phrases like “claim your prize,” “verify your account,” and “package could not be delivered,” and add what you actually receive over time.
Here’s something that’s been bugging us about the iPhone for years: you can block a specific phone number from texting you, but you can’t block a text message based on what it says.
Every spam text you get has obvious giveaway phrases in it. “Claim your prize.” “Act now before it expires.” “Your package could not be delivered.” “You’ve been selected.” You can spot the spam words immediately. But iOS won’t let you say “block every text that contains these words.”
Instead, Apple wants you to block numbers one at a time. Which doesn’t work when spammers rotate through hundreds of numbers a week.
If you’ve been looking for a way to filter texts by keyword on your iPhone without jailbreaking or any complicated setup, this is how to do it.
Why Apple Doesn’t Have This Built In
Apple’s spam tools all work on the same principle: sender identity. Block a specific number. Filter messages from numbers not in your contacts. Report an individual message as junk.
What you can’t do is tell your iPhone: “If any text from any sender contains the word ‘cryptocurrency,’ send it to junk automatically.”
That’s a problem, and here’s why:
Spammers change numbers constantly. That’s the whole point of number rotation. Block the number that sent today’s “free gift card” text and tomorrow’s identical message shows up from a different number. You’re always reacting, never ahead.
Email-address spam has no stable sender at all. More and more spam texts come from email addresses instead of phone numbers, things like randomstring@gmail.com. These are generated in bulk, used once, thrown away. Blocking the sender accomplishes nothing.
But the content barely changes. While the sender is different every time, the message stays remarkably similar. Spam campaigns reuse the same templates, the same phrases, the same psychological hooks week after week. “Your account has been compromised.” “Reply STOP to unsubscribe.” “You’ve won.” The words are the consistent pattern. Apple’s tools completely ignore them.
That’s why keyword filtering works so well. You stop playing whack-a-mole with phone numbers and target the one thing that doesn’t change: what the message actually says.
How iPhone Keyword Filtering Works (the Technical Side)
Most people don’t know this, but Apple actually built the infrastructure for third-party text filtering back in iOS 11. It’s called SMS and MMS message filtering extensions.
Here’s the short version of how it works:
- A text arrives from someone not in your Contacts.
- iOS hands the message off to whatever filtering app you’ve installed and enabled.
- The app checks the message against your rules, a database, or whatever logic it uses.
- The app tells iOS what to do with the message: let it through, send it to junk, or sort it into a subcategory like Transactions or Promotions.
- iOS takes it from there. Junk messages go to a separate folder and don’t trigger any notifications.
This runs in the background automatically. You don’t open the app. You don’t do anything manually. Once it’s set up, it works on every incoming text from unknown senders.
One thing worth knowing: the filtering happens on your device by default. Apple designed the system so that message content stays local during the filtering process. That was a deliberate privacy decision on Apple’s part.
Setting It Up with Not Today
Not Today is the app we built specifically to fill this gap. Here’s how to get keyword blocking running from scratch. Takes about two minutes.
Step 1: Download and enable
Grab Not Today from the App Store. The app will walk you through the initial setup, but the key step is telling iOS to use it as your message filter:
Settings > Apps > Messages > SMS/MMS > Not Today
That’s what connects the app to the iOS filtering system so it can evaluate incoming texts before they hit your inbox.
Step 2: Import the starter list
Not Today ships with a pre-built set of common spam phrases, the words and patterns that show up most often in reported spam texts. You can import this list with one tap during setup. It gives you a baseline of protection right away without having to think about what to block.
Step 3: Add your own rules
This is where it gets good. Open Not Today and start adding words or phrases based on the spam you personally receive.
“Contains” rules block any message where the phrase appears anywhere in the text. Good for:
- “claim your prize”
- “act now”
- “has been compromised”
- “verify your account”
- “free gift card”
- “you’ve been selected”
- “bitcoin” or “crypto” (assuming you don’t get legit texts about these)
- “STOP to cancel” (a classic spam tell)
“Exact match” rules only block messages where the entire text matches. Better for very short, formulaic spam:
- “STOP=STOP”
- “Reply Y”
The allow list is just as important. If you block the word “delivery” to catch fake package scams, you probably still want texts from FedEx or UPS to come through. Add those to your allow list and they’ll bypass your block rules.
Step 4: Test and adjust
Every rule can be toggled on and off individually without deleting it. This matters because you’ll want to experiment. Maybe a rule is catching something you actually want to see. Turn it off, tweak the wording, turn it back on. You don’t lose anything.
We’d recommend starting with a smaller, more specific set of rules and adding from there. It’s much easier to add a rule when spam gets through than to figure out which rule accidentally caught a legitimate message.
Keywords That Catch the Most Spam
Based on what Not Today’s users report, here are some of the most effective keyword rules. These consistently catch real spam without many false positives.
Fake delivery scams:
- “package could not be delivered”
- “delivery attempt failed”
- “update your shipping”
- “tracking number” (be careful with this one, add your actual carriers to the allow list)
Financial scams:
- “your account has been”
- “suspicious activity”
- “verify your identity”
- “your bank”
- “your card ending in”
Prize and reward scams:
- “congratulations”
- “you’ve won”
- “claim your”
- “selected for”
- “exclusive offer”
Political spam and campaign texts:
- “contribute”
- “donate now”
- “match your donation”
- Any campaign-specific phrases (these tend to be seasonal but come in waves)
General spam patterns:
- “act now”
- “limited time”
- “click here”
- “unsubscribe” (ironic, but spam texts use this word to look legitimate)
- “txt STOP”
Quick tip on strategy: blocking a few specific phrases that match the spam you actually get will do more than blocking a long list of generic words. Look at your junk folder, find the phrases that keep repeating, and add those first.
What About Texts from People You Know?
This comes up a lot, so let’s address it directly: iOS message filtering only applies to texts from unknown senders, people who aren’t in your Contacts. If someone you’ve saved as a contact sends a message that happens to contain a blocked keyword, it still comes through normally.
Apple built this safeguard into the system. Your keyword rules will never accidentally filter a text from your mom, your boss, or anyone else in your address book. The filtering only kicks in for numbers and addresses that aren’t saved.
Beyond Keywords: Adding More Layers
Keyword filtering handles a lot. But it works better when you stack it with a couple of other approaches.
Community blocklist. Not Today has a database of over 85,000 phone numbers reported as spam by real users. Each number needs at least two independent reports before it’s shared, so false positives are rare. This syncs automatically and blocks known spam numbers before they ever text you.
AI detection. For messages that get past both your keywords and the community database, Not Today has optional AI analysis. It evaluates unmatched messages for spam patterns without using your personal info. Think of it as the last line of defense for the stuff that’s deliberately crafted to dodge keyword filters.
Variance blocking. If you’re getting texts from numbers that are slight variations of each other (same first 8 digits, different last 1 or 2), Not Today lets you wildcard those digits. One rule, 10 to 100 numbers blocked.
The three layers together (keyword rules, community database, AI) catch more spam than any single method alone. That’s the whole idea behind the app.
What It’s Like After Setup
We hear from users who went from 5 to 10 spam notifications a day down to zero overnight. The spam didn’t actually stop arriving. Spammers are relentless, and your phone number is probably sitting in dozens of lists at this point. But every incoming spam text gets quietly filtered to junk before it triggers a notification.
Your phone buzzes and it’s actually someone you want to hear from. That’s what keyword filtering gets you that number-based blocking never will. It targets the one thing spammers can’t easily change: the content of the scam itself.
Not Today is a free spam-blocking app for iPhone. Keyword filtering, community blocklist of 85,000+ numbers, and optional AI detection. No account required. Download on the App Store. Two minutes to set up.