Reference · 2026

Twitter (X) advanced search operators: what still works in 2026

Half the X (Twitter) search-operator guides still online tell you to use near:, source:, or geocode: to narrow a search. All three are dead — X quietly removed them, and the cheatsheets never caught up. We tested every operator live in June 2026 to sort what works from what the internet still pretends works. Below is the full reference, the eight operators that cover most real searches, and the one trap that makes a perfectly good query return nothing.

~11 min readPublished By Josh Pigford
Editorial illustration for this blog post

Start here: the eight operators that cover most searches

You do not need the full list to get value out of search. Eight operators handle the overwhelming majority of real searches, and they all type straight into the X search box — no special page required. If you read no further, learn these.

from:accounteverything one account posted
"exact phrase"the words in that order, not scattered
keyword -wordinclude one term, exclude another
keyword since:2026-01-01 until:2026-03-01a date range
keyword min_faves:500only posts with traction
keyword filter:repliesreplies only (add a minus to drop them)
@yourbrand -from:yourbrandpeople talking to you, not your own posts
(churn OR cancel) "your product"either word, near your product name

There is also a form for this. X keeps a visual builder at x.com/search-advanced that fills in the boxes for you — words, accounts, dates, and engagement thresholds. In practice the form is a strict subset of what the search box accepts: it covers the basics safely, but every operator below — media filters, Lists, language, thread IDs — is raw-box only. Learn to type the operators and the form becomes a fallback, not a ceiling. If you would rather assemble a query without memorizing the syntax, our free X search query builder stacks them visually and hands you a string to paste.

The complete operator reference (tested June 2026)

The operators below work in the X web search box — we live-tested the set in June 2026, with a couple (list:, $cashtag) that are documented and standard but were not part of our test run. Stack as many as you want in one query — they combine with an implicit AND, so a space between two operators means both must be true. One caveat worth stating plainly: X ships changes without notice, so treat this as confirmed-today, not guaranteed-forever. The dead ones in the next section are the safer bet to act on.

Text and boolean
"exact phrase"Match the words in that order"social media manager"
cats OR dogsEither term (OR must be uppercase)churn OR cancel
-wordExclude a term or phrasereact -native
(a OR b) cGroup terms to control precedence(crm OR pipeline) -salesforce
#hashtagPosts using that hashtag#buildinpublic
@usernamePosts mentioning an account@replysocial
$cashtagPosts with a stock ticker symbol$NVDA earnings

Two rules trip people up. OR must be uppercase — a lowercase or is treated as a literal word. Everything else is case-insensitive, so From:NASA and from:nasa return the same posts. And there is no general wildcard: mark* does not match "marketing." The closest thing is a * inside a quoted phrase, which reportedly stands in for one word.

Accounts
from:userPosts by one accountfrom:paulg
to:userReplies addressed to an accountto:notion
list:<id>Posts from members of a public Listlist:84839422

from: and to: are the workhorses. from:account filter:replies reads everything an account has said in other people's threads — often more revealing than their own timeline.

Engagement thresholds
min_faves:NAt least N likesai min_faves:500
min_retweets:NAt least N repostsai min_retweets:100
min_replies:NAt least N repliesai min_replies:25
filter:verifiedOnly verified authorslaunch filter:verified

The likes operator is min_faves:, not min_likes: — the old internal name survived the rebrand even though the button says "like." Pair a threshold with a date to pull the highest-performing posts on a topic from a single week.

Content type
filter:mediaHas any image or videodemo filter:media
filter:imagesHas an imagechart filter:images
filter:linksContains a linkreview filter:links
filter:repliesOnly replies (use -filter:replies for originals)from:stripe filter:replies
-filter:retweetsExclude reposts, keep original postspricing -filter:retweets

The filter: family takes a leading minus to invert it. -filter:replies strips replies to leave original posts; -filter:retweets strips reposts. That single character is the difference between a clean feed and a wall of reposts.

Time and language
since:YYYY-MM-DDOn or after a datesince:2026-01-01
until:YYYY-MM-DDBefore a dateuntil:2026-03-01
since_time:<unix>On or after a Unix timestamp (works in the web box)since_time:1767225600
lang:xxPosts in one language (ISO code)lang:en

Dates take YYYY-MM-DD. For finer control, since_time: and until_time: accept a Unix timestamp and — despite a hundred cheatsheets calling them API-only — work in the web search box too. So does conversation_id:<id>, which pulls every reply in one thread.

Operators that no longer work (and what to use instead)

This is the part every cheatsheet gets wrong, because nobody re-tests an operator once they have published it. Each of these is still listed as working across the top search results, and each one returns nothing — or the wrong thing — when you actually run it.

Dead operatorWhat it claims to doDo this instead
near: / within: / geocode:Find posts near a place or coordinateGeo search is gone — X stopped geotagging. Use a List of local accounts, or from: a known local handle.
source:<client>Filter by posting app (e.g. tweetdeck)Dead even for live clients. There is no replacement on web.
card_name:<type>Filter by link-card typeReturns nothing in 2026. Use filter:links and read the results.
min_likes: / min_reposts:Engagement thresholds (renamed for the new UI)Never renamed — the working operators are still min_faves: and min_retweets:.
filter:vine / filter:periscopeFilter Vine or Periscope mediaBoth products are dead. The filters do nothing.

The geo operators are the most-mourned. For years you could pull posts within a radius of a city, which made X a genuinely useful local-news and event tool. X stopped attaching location to posts, the backend went with it, and near:, within:, and geocode: now return an empty page. The honest workaround is a List of accounts you know are local, not an operator.

The tell that a guide is stale: if it lists filter:vine, source:tweetdeck as a live feature, or calls the old TweetDeck "free" — it was last tested before 2023 and you should not trust the rest of it either.

Web search vs the X API: the same words mean different things

Here is the mistake that wastes the most time, and almost every popular guide makes it. There are two different search engines at X, and they do not speak the same language. The consumer search box you type into is one. The X API — the developer endpoint apps and scripts use — is the other. An operator that works in one often fails silently in the other, returning a clean, convincing, empty result.

The short version: the X web search box uses filter: for content and type (filter:media, filter:nativeretweets), while the X API uses is: and has: (is:retweet, has:media) — and the two are not interchangeable. Paste an API operator into the web box and it returns an empty result with no error.

The classic failure: you read a guide that lists has:media, is:retweet, and place_country:, you paste them into the search box, and you get nothing. Those are API operators. The search box wants filter:media, filter:nativeretweets, and a geo operator that no longer exists. Same intent, different vocabulary. Here is the translation for the jobs people actually do:

What you wantWeb search boxX API
Only reposts / replies / quotesfilter:nativeretweets, filter:repliesis:retweet, is:reply, is:quote
Has media / images / linksfilter:media, filter:images, filter:linkshas:media, has:images, has:links
Verified authorsfilter:verifiedis:verified
Engagement thresholdsmin_faves:, min_retweets:, min_replies:(no equivalent — filter after the fetch)
One threadconversation_id: (yes, works on web)conversation_id:
Geographic area(nothing works)place_country:, point_radius:, bounding_box:
Topic / entity annotations(not available)context:, entity:

One more catch in the API column: its boolean filters cannot stand alone. You cannot search the API for is:verified by itself — it has to accompany a real search term. The web box has no such rule. Unless you are writing code against the API, ignore the third column entirely and use the operators in the reference above. If you are writing code, the operators differ by access tier, which X documents separately.

Build the query without memorizing the syntax

Free X advanced-search query builder. Stack keywords, handles, exclusions, dates, and engagement filters into one query you can paste straight into X search — every operator in the reference above, none of the dead ones.

Open the query builder

Copy-paste search recipes for real jobs

Operators are only worth learning for what they let you find. These are the searches that earn their keep — pulling buyers, complaints, and leads out of the firehose. Replace the bracketed parts and paste them into X search.

1. People shopping for what you sell. Buying intent shows up as a question. This catches it and filters out the noise of people answering with links.

("looking for" OR "recommendations for" OR "alternative to") [your category] -filter:links

2. People complaining about a competitor. Switch-intent surfaces here first — someone frustrated enough to post is someone open to an alternative.

(@competitor OR "competitor") (cancel OR switching OR "fed up" OR broken) -from:competitor

3. Unlinked mentions of your brand. People name you without tagging you constantly. This finds the conversations your notifications never showed you.

"yourbrand" -@yourbrand -from:yourbrand

4. Support requests aimed at you. The replies and posts that need an answer today, before they curdle into a public complaint.

@yourbrand (help OR broken OR "not working" OR down OR error) -from:yourbrand

5. The posts winning a topic this week. A threshold plus a date pulls the highest-performing posts on any subject — good for spotting what to reply to, or what is working in your niche.

[your topic] min_faves:500 -filter:replies since:2026-06-16

Each of these is a one-time search you have to remember to run again tomorrow. That is the real limit of operators: a query is a snapshot, not a feed. The continuous version is a saved monitor — the same query, running on a schedule, surfacing new matches in an inbox you can reply from.

That is what we built ReplySocial's keyword monitoring to do, and the same operators above become your monitor definitions. The setup is in how to monitor brand mentions, and the competitor version in how to track competitors on X. One more reason to automate it: at scale, some of what these searches return is bots and spam — scoring reply authors with BotBlock keeps the queue readable, and you can spot-check any handle with the free bot checker.

Why search feels broken: the limits worth knowing

If advanced search seems worse than you remember, you are not imagining it. Three real limits explain almost every "it stopped working" complaint.

You have to be signed in. X has gated search behind login since 2023, so in practice you need an account. Old links that once showed results to logged-out visitors now hit a login wall, and no operator gets around it.

Recency is limited on the Latest tab. The Latest tab is effectively a recent-window feed — it surfaces new posts, not the full archive — so pulling a date range from years ago returns a thin, incomplete set. The Top tab reaches back further for high-engagement posts, but unevenly. Deep historical search is what the paid API and archive tools exist for; the consumer box was never built for it.

An empty result usually means a dead or wrong operator. Before you conclude search is broken, check the query against the reference above. Nine times out of ten the culprit is a geo operator that no longer works, or an API operator pasted into the web box. Strip the suspect operator, confirm the base search returns posts, then add operators back one at a time. The math is simple: the broken piece is almost always the operator your old cheatsheet swore by. For a fuller monitoring stack across X, Reddit, and the open web, the social media monitoring guide covers what search alone cannot.

Twitter (X) advanced search — common questions

How do I open X (Twitter) advanced search?

Two ways. Go to x.com/search-advanced for the visual form, which fills in operators for words, accounts, dates, and engagement thresholds. Or type operators straight into the normal search box — from:account, "exact phrase", since:2026-01-01, min_faves:500, and the rest. The search box accepts far more than the form does, so learning a handful of operators is worth more than relying on the form.

Does Twitter advanced search work on mobile?

The operators work on mobile — type them into the search box in the app exactly as you would on desktop. The visual advanced-search form at x.com/search-advanced is built for desktop, so on a phone the practical move is to type the operators directly.

Can I use X search without an account or logging in?

No. Since 2023, X blocks search results for logged-out visitors, so you have to be signed in. Old links that once showed results to anyone now hit a login wall, and no operator gets around it. Searching X requires an account.

Why is my advanced search not working?

Almost always one of three things. You are logged out (search requires an account since 2023). You pasted a dead operator — near:, source:, geocode:, and card_name: all return nothing in 2026. Or you used an X API operator like is:retweet or has:media in the web box, where it fails silently; the web equivalents are filter:nativeretweets and filter:media. Strip the suspect operator, confirm the base search returns posts, then add operators back one at a time.

How do I search tweets by date or between two dates?

Use since: and until: with YYYY-MM-DD dates. since:2026-01-01 until:2026-03-01 returns posts from that window. Add from:account to pull one person's posts from a date range, or min_faves: to get only the high-engagement ones. Note the free web search favors recent posts — pulling a range from years ago returns a thin, incomplete set.

Which Twitter search operators no longer work?

The geo operators (near:, within:, geocode:) are dead — X stopped attaching location to posts. So is source: (filtering by posting app) and card_name: (filtering by link-card type), both of which return nothing in 2026. And min_likes: / min_reposts: never existed — the working engagement operators are still min_faves: and min_retweets:. Any guide that lists filter:vine or calls TweetDeck free was last tested before 2023.

An operator finds it once. A monitor finds it every time.

ReplySocial turns the searches above into saved monitors across X / Reddit / Facebook / LinkedIn, scores the authors for bot likelihood, and drops the real matches into one inbox you can reply from. Pro is $25/month flat.