QuertweetThe X search cookbook

Guide · 5 min read

X search operators, explained

How X reads a search query: phrases, OR, minus, from:, since:, min_faves:, filter:, near: and list:, which ones X documents, and how to fix empty results.

An X search query is a short line of text, but X reads it as a set of rules. Every space means "and", quotes mean "exactly this", a minus sign means "not this", and a word followed by a colon is an instruction. Once you know how those pieces combine, you can read any recipe in this cookbook and write your own.

This guide goes through the operators in the order you are likely to need them. One note first: X's help center documents its advanced search form, which covers words, phrases, accounts, language, place and dates. Many of the typed operators below, especially the filter: and min_ families, are not described there. They have worked for years and researchers have tested them widely, but X does not promise to keep them. When something here stops working, that is the most likely reason.

Words, phrases and OR

Plain words are all required. heat pump noise finds posts that contain all three words in any order. Spelling counts: if people write a word two ways, search for both with OR.

Quotes lock a phrase. "heat pump" only matches those two words side by side. Use quotes for anything that has to stay together: a product type, a job title, a city with two words in its name. If the phrase is long, it gets rare quickly, so keep quoted phrases to two to four words.

OR gives a choice, and it must be in capitals. plumber OR electrician finds posts with either word. Wrap OR groups in parentheses when you combine them with other terms: ("can anyone recommend" OR "looking for a good") plumber. Without the parentheses, it is hard to tell which words the OR applies to, for you and sometimes for X.

A minus sign removes. -giveaway drops posts that contain the word, and -"free shipping" drops a phrase. The minus also works in front of most operators, which is where it gets powerful: -filter:replies removes replies and -from:yourbrand removes your own posts.

People: from:, to: and @

from:handle limits results to posts written by one account. Type the handle without the @. to:handle keeps replies sent to that account, which is a quick way to read what customers tell a company in public. @handle as a plain term finds posts that mention the account anywhere.

These combine with everything else. from:handle "price increase" shows whether an account has ever posted about a topic, which is worth checking before you quote or paraphrase anyone.

Dates: since: and until:

Both take a date in the form YYYY-MM-DD. since: includes the date you give. until: stops before its date. To cover the whole of March 2026, you would write since:2026-03-01 until:2026-04-01. Date operators work best alongside at least one keyword; a date range on its own asks X to search everything posted in that window.

There is no documented operator for "the last 24 hours". Picking the Latest tab gets you the same effect for most purposes, because Latest sorts newest first.

Engagement: min_faves:, min_retweets:, min_replies:

min_faves:100 keeps posts with at least 100 likes. The name is a leftover from when likes were called favorites, and min_retweets: is the same for reposts. min_replies: counts replies. X rounds large counts, so a threshold of 5,000 behaves less precisely than one of 50.

A minus sign in front flips the meaning in practice. -min_replies:1 keeps posts with fewer than one reply, which is how the "questions nobody answered" recipe works. That negated form comes from community testing, so treat it as a bonus and not a guarantee.

These operators are the difference between a feed of everything and a feed of what people actually responded to. Use them with the Top tab when you research, and leave them out when you want every new post.

Content filters: filter:

filter:links keeps posts with a link. filter:images, filter:videos and filter:media keep posts with images, video or either. filter:replies keeps only replies, and -filter:replies removes them, which is the single most useful cleanup in this cookbook.

filter:news keeps posts that link to sites X classifies as news. X does not publish the list behind it. filter:verified keeps posts from checkmarked accounts, but checkmarks now mean several different things, from a paid subscription to a verified organization, and X does not document which ones the operator counts. Both are useful for cutting noise. Neither tells you whether a post is true.

filter:follows limits results to accounts you follow, which turns search into a way to dig through your own timeline.

Place: near: and within:

near:"Chicago" asks X for posts it associates with that place, and within:15mi sets the radius (kilometers work too: within:20km). Only a small share of posts carry location information, so these searches return a partial picture. For more results with more noise, type the city name in quotes as a plain phrase instead. Many recipes in the local events chapter use both approaches so you can compare.

list: followed by a list's number (the digits at the end of its URL) restricts the search to posts from that list's members. It is the best way to search only sources you have chosen. Our guide to saved searches and lists covers building one.

url: matches text in the links of a post, so url:example.com finds posts sharing pages from that domain. A lone ? keeps posts that contain a question mark. And lang:en keeps posts X detected as English; detection on very short posts is sometimes wrong.

Latest or Top

The query is only half the search. The tab decides the order. Latest shows newest first and is right for job posts, leads, events and breaking news. Top ranks by engagement and is right for research and content ideas. Each recipe in this cookbook opens the tab that suits it, and the link says which one.

When a search finds nothing

Work backward. Remove the most restrictive part first: usually near:, a high min_faves: or a long phrase in quotes. Then check for a lowercase or, a stray quote mark or a space after a colon (from: handle does not work; from:handle does). If the search works on the Top tab but not on Latest, there may simply be nothing new yet. Remember too that X only shows search results to signed-in users, so a logged-out browser will show a sign-in prompt instead of posts.

Operator What it does In X's help pages?
"exact phrase" Words side by side Yes
a OR b Either word Yes
-word Leaves a word out Yes
from: to: @ Author, reply target, mention Yes, as form fields
since: until: Date range Yes, as form fields
lang: Detected language Yes, as a form field
min_faves: and family Engagement thresholds No
filter:links and family Content type No
near: within: Place and radius Place yes, radius no
list: url: ? List members, link text, question mark No

Pick a chapter and open any recipe's "What each part does" panel to see these operators working together.

Questions

Do X search operators work in the mobile apps?

Yes. The apps send the same query to the same search, so a query typed in the app search box behaves like one typed on x.com. The advanced search form itself is easier to reach on the web.

Is there an operator for posts in the last 24 hours?

Not one X documents. Use since: with yesterday's date and pick the Latest tab, which sorts newest first anyway.

Why does OR not work in my search?

It has to be in capitals. Lowercase or is treated as a plain word, so the search looks for posts that contain the word or.