Reddit Search Operators: Which Ones Actually Work

By · Updated August 5, 2026 · 9 min read

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

Reddit search operators tested against the live API
OperatorVerdictExampleWhat 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 →