Reddit Search Operators: Which Ones Actually Work
Most articles listing Reddit search operators are copying each other, and some of what they list has not worked for years. So rather than copy the list, we issued every operator as a real query against Reddit's search API and checked whether the results actually obeyed it. 13 of 14 work correctly. One is unreliable. And the setting that ruins more searches than any broken operator is not an operator at all.
How we tested: each operator was issued as a live query against Reddit's search endpoint on 5 August 2026, and every returned post was checked against what the operator claims to do — a subreddit:webdev query returning a post from anywhere else counts as a failure. An operator that is silently ignored is worse than one that errors, because the search still looks like it worked. The harness is in the repo as scripts/test-search-operators.mjs. It found one false failure on its first run, which we fixed and re-ran — see the caveat.
The tested results
| Operator | Verdict | Example | What it does |
|---|---|---|---|
subreddit: |
Works | subreddit:webdev hosting |
Restricts to one community. |
author: |
Works | author:spez reddit |
Restricts to one user's posts. |
title: |
Works | title:invoicing |
Matches the title only — the single most useful operator for lead finding. |
selftext: |
Works | selftext:freelance |
Matches the body text only. |
site: |
Works | site:github.com |
Matches the linked domain. Note this is Reddit's own operator, not Google's. |
url: |
Works | url:youtube |
Matches text anywhere in the linked URL. |
self:yes |
Works | self:yes crm |
Text posts only. Questions are text posts, so this is a strong noise filter. |
self:no |
Works | self:no crm |
Link posts only. |
nsfw:no |
Works | nsfw:no marketing |
Excludes NSFW results. |
"phrase" |
Works | "looking for a freelance" |
Matches the phrase as a unit. Whitespace is normalised, so double spaces still match. |
AND |
Works | title:(reddit AND marketing) |
Requires both terms. |
OR |
Works | title:(invoicing OR bookkeeping) |
Matches either term. Brackets are required when combined with a field. |
NOT |
Works | title:crm NOT title:hubspot |
Excludes a term. The most under-used operator on this list. |
flair: |
Inconsistent | flair:hiring |
Usually correct, but inconsistent — one run returned a post with no flair at all, and result counts vary between identical queries. |
The headline is that Reddit's search has a worse reputation than it deserves. The operators are in good shape — title:, selftext:, self:yes, boolean logic and phrase matching all behaved exactly as documented across every result returned. If your Reddit searches are disappointing, the operators are probably not the problem.
flair: is the one to treat with suspicion. It was mostly accurate, but one run returned a post carrying no flair at all, and identical queries returned different result counts on different runs. Use it to narrow, never to guarantee.
The setting that ruins most searches
Here is the finding that matters more than any operator, and we ran into it while building our own scanner rather than while writing this article.
Reddit search accepts a sort parameter, and sorting by new is close to useless for multi-word queries. It returns anything containing your words, in date order, which for a phrase like "recommend a CRM" means a stream of posts that happen to contain "recommend" or "CRM" somewhere. We had our own keyword tool defaulting to new — on the entirely reasonable logic that fresh leads matter — and the results were noise.
Switching the same query to relevance returned three genuine buying-intent threads in the top three results. Same query, same API, same moment. The difference was one parameter.
The reason is that relevance sorting weighs how well the whole phrase matches, while new sorting only filters and then orders by time. If your search terms are a single distinctive word — your brand name — new is fine and gets you speed. For anything phrase-like, relevance wins so decisively that it is worth re-checking any saved search you built on the default.
Queries that find leads
The operators become useful in combination. These are the patterns that do real work:
Someone asking for a recommendation
title:("looking for" OR "recommend" OR "alternative to") self:yes
title: matters here because a person asking for help puts the request in the title. self:yes drops link posts, which are almost never questions. This single query shape produces most of what people are hunting for.
People leaving a competitor
title:(alternative OR "switching from" OR "moving off") competitorname
The highest-intent search available. Someone naming an incumbent and asking what else exists has budget, a live problem and a deadline.
Filtering out the noise you already know about
subreddit:smallbusiness title:crm NOT title:hubspot NOT title:salesforce
NOT is the most under-used operator on the list. If most of your false positives come from a handful of predictable terms, excluding them explicitly beats reading past them every day.
Watching one community properly
subreddit:forhire title:(hiring) flair:hiring
Belt and braces, deliberately — given that flair: is inconsistent, pairing it with a title match means you still get results when the flair filter misbehaves.
If you want to run any of these without an account, our free Reddit Keyword Monitor searches live and shows the subreddit, comment count and age of each result.
Combining operators properly
Two syntax details cause most of the wrong results people blame on Reddit.
Brackets are required when a boolean meets a field. title:(invoicing OR bookkeeping) searches titles for either word. title:invoicing OR bookkeeping searches titles for "invoicing", then searches everything for "bookkeeping" — a much broader and much worse query that still returns plenty of results, so nothing looks wrong.
Operators combine with implicit AND. subreddit:webdev title:hosting self:yes requires all three. There is no need to write AND between them, and doing so is harmless.
Beyond that, keep queries shorter than feels natural. Each added term narrows the result set multiplicatively, and a five-operator query that returns nothing is indistinguishable from a subreddit where nobody is asking.
Reddit search vs Google
Both are worth using and they are good at opposite things.
Google, via site:reddit.com/r/smallbusiness "looking for" invoicing, is better for old and popular threads. It ranks by authority, has years of index depth, and its relevance matching is simply stronger than Reddit's.
Reddit's own search is better for anything recent, and recency is what lead finding is about. Google can take days to index a new Reddit post. A question that is three days old has usually been answered by twenty people already, which — as we cover in buyer-intent signals on Reddit — is past the useful window.
The practical split: Google for research and for understanding a market, Reddit for monitoring. Do not use Google alerts as a Reddit monitoring system for exactly this reason, which is also the argument on our Google Alerts comparison.
What none of this fixes
Operators are filters, and filters cannot understand meaning. That limitation shows up in one specific and expensive way.
title:crm returns "I love our CRM", "our CRM broke again", "CRM is a waste of money" and "can anyone recommend a CRM" as equal results, because all four contain the word. No combination of operators separates them, since the difference is intent rather than vocabulary. You can exclude specific known terms with NOT, and that helps, but you cannot enumerate every way someone might phrase satisfaction with the tool they already have.
This is the ceiling on manual searching, and it is worth being clear that it is a real ceiling rather than a skill issue. A well-built query gets you from thousands of results to dozens; getting from dozens to the two worth answering is a judgement call somebody or something has to make on every result.
The manual version of that judgement is covered in how to find leads on Reddit, and it works fine at low volume. It is when the daily list stops being readable that you need something that reads the post rather than matching the string.
A caveat about our own test
Worth reporting, because it is exactly the kind of thing that produces confidently wrong articles.
Our first run flagged phrase matching as only partially working: a search for "looking for a freelance" returned a post that our checker said did not contain the phrase. It did. The title read "I'm looking for a freelancer" with a double space, and our checker was comparing raw substrings. Reddit normalises whitespace when indexing; our test did not.
So the operator was working correctly and our measurement was wrong. We fixed the checker to normalise whitespace, re-ran, and phrase matching came back clean at 25 out of 25. Had we published the first run, we would have told you a working feature was broken — and it would have looked authoritative, because it came with numbers.
The same caution applies to the flair: result in the table above. One anomalous post across several runs is a weak signal, and we have described it as inconsistent rather than broken for that reason.
Past the limits of a search query?
RedditScout reads every new post and scores it against your description of a good lead — the judgement step no operator can do. Free to start, no credit card.
Get Started Free →