Twitter Advanced Search: Every Operator That Still Works in 2026

11 min readSocialAPI Engineering

Twitter Advanced Search: Every Operator That Still Works in 2026

X's search box looks basic. Type words, get posts.

Underneath it is a query language that's more capable than most people realise — date ranges, engagement thresholds, boolean logic, media filters. It's the difference between "I'm sure someone tweeted this a few months ago" and finding the exact post in one query.

Most guides listing these operators were written years ago and never checked again. Several of the operators they list no longer do anything.

We tested every operator in this article against the live platform before publishing. Where something didn't work, we say so.


Where the advanced search form is

X has a built-in form, which is easier than remembering syntax for one-off searches.

Web: run any search, then click Advanced search in the filters panel on the right. Or go straight to x.com/search-advanced.

Mobile: there's no advanced search form in the app. You can type the operators into the normal search box and they work — the form simply isn't exposed.

The form is a wrapper. Anything it does, you can type by hand — and typing gets you combinations the form can't express.

The same syntax works through an API if you need these searches to run on a schedule rather than by hand.


The operators, by what you're trying to do

Narrowing to people

Operator What it does
from:username Posts by that account
to:username Replies directed at them
@username Posts mentioning them anywhere
list:id Posts from members of a list

from: is the one most people want and don't know exists. from:nasa gives you NASA's timeline as search results — which means you can then apply every other filter on this page to it.

Narrowing by time

Operator Format Example
since: YYYY-MM-DD since:2026-08-01
until: YYYY-MM-DD until:2026-08-20

Both are inclusive of the date given, and they compose: openai since:2026-08-01 until:2026-08-20 gives you that window.

⚠️ The catch with date search: X's index is much better at recent posts than old ones. A since: from three years ago will return something, but not reliably everything. For anything historical, expect gaps — this is a limit of the index, not of your query.

Narrowing by engagement

Operator What it does
min_faves:100 At least 100 likes
min_retweets:50 At least 50 reposts
min_replies:10 At least 10 replies

★These are the highest-value operators on this page★ and they aren't in X's own documentation. They're what turns an unusable firehose into a readable list — bitcoin returns endless noise, bitcoin min_faves:500 returns things people actually reacted to.

Narrowing by content type

Operator What it does
filter:media Has an image or video
filter:images Images specifically
filter:videos Videos specifically
filter:links Contains a link
-filter:replies Original posts only
-filter:retweets Excludes reposts

The - prefix negates any filter. -filter:replies -filter:retweets gives you original posts only, which is usually what you want when researching what an account actually says.

Logic and phrases

Syntax What it does
"exact phrase" The words in that order
word1 OR word2 Either one
-word Excludes it
#hashtag The tag
$TICKER Cashtag
lang:en One language

OR must be capitalised. Lowercase or is treated as a word to search for.


Combining them: worked examples

Individually these are mildly useful. Combined, they're a research tool.

What did a company say about a topic, ignoring the noise?

from:openai gpt -filter:replies since:2026-01-01

What are people saying about my brand that actually got traction?

"acme corp" min_faves:20 -filter:retweets lang:en

Find the viral post you half-remember

"the thing they said" min_faves:1000 since:2026-06-01 until:2026-07-31

Who's complaining to a competitor?

to:competitor (broken OR "doesn't work" OR refund) -filter:retweets

Media coverage of an event

#conference2026 filter:images min_faves:50

The pattern in all of these: one term to scope it, one to filter quality, one to cut noise.★ Three operators handles most real searches.

Once a query earns its keep, the next step is usually running it automatically — which is where the code section below comes in.


Sorting: Latest vs Top

Search has modes, and they change what you get more than people expect.

Latest — reverse chronological. What you want for monitoring and breaking news. Top — X's engagement ranking. What you want when researching a topic and don't need everything. Media — only posts with images or video.

We measured the same query across all three: Latest returned 22 results, Top returned 20, Media returned 48. Media returning more is counterintuitive but consistent — it's pulling from a differently-shaped index rather than filtering the same result set.

If a query looks empty in one mode, try another before concluding there's nothing there.


Searching without an account

You can view search results logged out on the web, though X restricts this and how much you can see varies.

If you need search results reliably and repeatedly — for a script, a dashboard, anything automated — logged-out browsing isn't a foundation to build on. It's rate-limited aggressively and the restrictions change without notice.


Search from code

The same operators work through an API, which is what you need if the search runs on a schedule rather than in a browser tab.

import requests

BASE = "https://api.socialapi.tech"
KEY  = "your_api_key"

def search(query, product="Latest", limit=50):
    r = requests.get(
        f"{BASE}/v1/search/advanced",
        params={"query": query, "product": product, "limit": limit},
        headers={"X-API-Key": KEY},
        timeout=60,
    )
    r.raise_for_status()
    return r.json()["data"]

# Same syntax as the search box
results = search('"acme corp" min_faves:20 -filter:retweets lang:en')

for tweet in results:
    author = tweet["author"]["username"]
    print(f"@{author} ({tweet['like_count']} likes): {tweet['text'][:100]}")

Two things worth knowing before you build on this:

Searching accounts is a different endpoint. If you want profiles rather than posts — "find accounts about machine learning" — that's a user search, and it returns profile objects with follower counts and bios rather than tweets.

Search results skew recent. Don't design something that depends on reconstructing months of history from search. If you need continuous history, capture it going forward.


What doesn't work any more

Operators that appear in older guides and no longer do anything useful:

  • near: and within: — geographic search. Effectively dead; almost no posts carry the location data these need.
  • source: — filtering by posting client. Removed.
  • filter:safe — the safe-search filter. Gone.
  • :) and :( — sentiment operators from the very early days. Not honoured.

If a guide lists these without qualification, it hasn't been checked recently — which is worth knowing about the rest of its contents too.


Questions people ask

How do I use Twitter advanced search? Either the form at x.com/search-advanced, or type operators directly into the search box. The operators are more flexible than the form.

What is the advanced search operator for a date range? since:YYYY-MM-DD and until:YYYY-MM-DD. Both inclusive, and they combine.

How do I search tweets by date? Add since: and until: to your query. For old posts expect gaps — X's index favours recent content.

How do I find tweets from a specific person? from:username. Add other operators to narrow further.

Can I search Twitter without an account? On the web, partially. It's restricted and inconsistent, so it isn't something to build on.

How do I find deleted tweets? You can't — once deleted, a post is gone from search. What you can find is a copy someone else quoted or screenshotted. The only reliable route is archiving posts before they're deleted.

What's the operator for minimum likes? min_faves:N. Also min_retweets: and min_replies:. These aren't in X's official docs but work.

How do I exclude retweets? -filter:retweets. Same pattern for -filter:replies and -filter:links.

Is there a Twitter search engine? X's own search is the index. Third-party tools query it and add filtering or export on top; none of them have a separate index of X.

How do I search for exact phrases? Put them in double quotes: "exact phrase". Without quotes you get posts containing those words in any order.

Can I use OR in Twitter search? Yes, capitalised. apple OR orange. Lowercase or gets treated as a search term.

How far back does Twitter search go? Nominally to the beginning; practically, results thin out quickly for older content. Recent months are reliable, years-old queries are hit and miss.

How do I search within a specific account's tweets? from:username keyword. That's an account-scoped search.

What's the difference between Latest and Top? Latest is chronological, Top is engagement-ranked. Latest for monitoring, Top for research.

Can I search tweets with images only? filter:media, or filter:images and filter:videos for specifics.

How do I search hashtags? Just include #hashtag. Combine with min_faves: unless you want everything.

Why does my search return nothing? Either the query is over-constrained — several narrow operators multiply into zero — or you hit a transient refusal. Remove operators one at a time to find which one emptied it.

Can I search replies to a specific tweet? Not directly by tweet ID in search. to:username gets replies to that account; narrowing to one conversation needs the reply endpoint.

How do I automate Twitter searches? Run the query through an API on a schedule. Same syntax; the difference is you can act on the results.

Does advanced search work on mobile? The operators do. The advanced search form isn't in the app — type the syntax into the normal search box.

Can I search by location? Practically no. near: and within: still parse but almost no posts carry the location data they need.

How do I find the most liked tweets on a topic? Set a high threshold and sort by Top: topic min_faves:5000 with Top ranking.

Where is advanced search on mobile? ★There is no advanced-search form in the apps.★ Type the operators directly into the search box — they work identically everywhere.

How do I use advanced search on Android? Same answer: type the operators. ★The form is a web convenience, not the feature itself★ — the operators are the feature.

Where is the advanced search page? On the web, reachable from search settings. ★It only builds a query string★, which you can also write by hand.

Where is the Twitter search page? Search is on every screen — ★the advanced form is web-only, but the operators work everywhere★.

What are the Twitter search operators? from:, to:, since:, until:, filter:, min_faves:, and negation with -. ★They compose freely.★

How do I use a search filter? Add filter:media, filter:links, or filter:replies — ★prefix with - to exclude★.

Is there advanced search on Android? ★The form is not, but the operators are.★ Type them into the normal search box.

Can I save a search? Yes, in the interface — ★though a saved query in your own code is more portable★.

What is the most useful operator?from: combined with a quoted phrase★ — searching inside one account.

How do I exclude a word? Prefix it with - — ★the same negation works on filters★.

How do I search an exact phrase? Wrap it in double quotes. ★This is the highest-precision form available.★

Can I search by engagement? min_faves:, min_retweets:, min_replies: — ★the fastest way to skip noise★.

Do operators work through an API? Yes — the query string passes straight through. ★Operators are not a UI feature.★

Can I combine many operators? Yes, and that is where the value is — ★a single query can answer what scrolling cannot★.

Why does my advanced search return nothing? ★Usually an over-narrow combination or a date format issue★ — remove constraints one at a time.


If you're doing this at scale

Everything above works in the search box. What changes when you automate it is the surrounding work: search refuses requests intermittently and the retry behaviour that fixes it isn't the obvious one, results need deduplicating across runs, and pagination has its own rules.

That's what our API handles — the same operator syntax, plus the retry and pacing underneath. Flat price per call, no rate limit of your own to manage.

Two things we don't bill for: requests we reject before they leave us — a malformed query, say — and errors on our side.

Related reading: monitoring keywords in real time · what to do when X returns a rate limit error · tracking followers and unfollows.