推特高级搜索:2026 年仍然有效的全部操作符

17 min readSocialAPI 工程团队

推特高级搜索:2026 年仍然有效的全部操作符

X 的搜索框看起来很简陋。输词,出推文。

它底下其实藏着一套比大多数人以为的更强的查询语言 —— 时间范围、互动量阈值、布尔逻辑、媒体过滤。它是"我记得几个月前有人发过这个"和"一条查询直接找到那条推文"之间的差别。

网上列这些操作符的教程,大多是好几年前写的,之后再没核对过。其中好几个操作符现在已经不起作用了

这篇里的每一个操作符,我们在发布前都对着线上平台实测过。 哪个不管用,我们会直说。


高级搜索表单在哪

X 有内置的表单,做一次性搜索时比记语法省事。

网页端: 随便搜一次,然后在右侧筛选面板点 高级搜索;或者直接访问 x.com/search-advanced

手机端: App 里没有高级搜索表单。但你可以把操作符直接打进普通搜索框,它们照样生效 —— 只是表单没暴露出来。

表单只是个壳。它能做的你都能手打,而手打还能拼出表单表达不了的组合。

同样的语法在接口上也能用 —— 当你需要这些检索定时跑而不是手动搜时。


按你想干什么来分的操作符

圈定到人

操作符 作用
from:username 某个账号发的
to:username 回复给他的
@username 任何地方提到他的
list:id 某个列表成员发的

from: 是最多人想要却不知道存在的那个。from:nasa 会把 NASA 的时间线变成搜索结果 —— 也就是说,这一页上其它所有过滤器都能叠加到它上面。

圈定时间

操作符 格式 例子
since: YYYY-MM-DD since:2026-08-01
until: YYYY-MM-DD until:2026-08-20

两者都包含所给日期,而且可以组合:openai since:2026-08-01 until:2026-08-20 就是那个区间。

⚠️ 按日期搜的一个坑: X 的索引对近期内容远好于对老内容。三年前的 since: 返回一些东西,但不保证完整。任何历史检索都要预期有缺口 —— 这是索引的限制,不是你查询写错了。

圈定互动量

操作符 作用
min_faves:100 至少 100 个赞
min_retweets:50 至少 50 次转发
min_replies:10 至少 10 条回复

★这是本页价值最高的一组操作符★,而且不在 X 自己的文档里。它们能把一条没法用的信息洪流变成一份能读的清单 —— bitcoin 返回无穷噪音,bitcoin min_faves:500 返回的是真有人反应的内容。

圈定内容类型

操作符 作用
filter:media 带图或视频
filter:images 只要图
filter:videos 只要视频
filter:links 含链接
-filter:replies 只要原创,不要回复
-filter:retweets 排除转发

- 前缀能取反任何过滤器。-filter:replies -filter:retweets 只留原创推文 —— 研究某个账号究竟说了什么时,通常正是你要的。

逻辑与短语

语法 作用
"精确短语" 按这个顺序的这几个词
词1 OR 词2 任一
-词 排除
#话题标签 标签
$代币符号 代币标签
lang:en 限定语言

OR 必须大写。小写的 or 会被当成一个要搜的词。


组合起来:实例

单个用只是稍微有用。组合起来才是研究工具。

某家公司就某个话题说过什么,排除噪音?

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

关于我品牌的讨论里,真正传开的那些?

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

找那条你只记得个大概的爆款推文

"他们说的那句话" min_faves:1000 since:2026-06-01 until:2026-07-31

谁在向竞品抱怨?

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

某个活动的媒体报道

#conference2026 filter:images min_faves:50

这些例子的共同套路: 一个词圈定范围,一个过滤质量,一个砍掉噪音。★ 三个操作符能应付大多数真实检索。

一条查询一旦调好用,下一步通常就是让它自动跑起来 —— 这正是下面代码那一节的用途。


排序:Latest vs Top

搜索有几种模式,它们对结果的影响比人们以为的大。

Latest —— 按时间倒序。做监控和追突发新闻时要用这个。 Top —— X 的互动量排序。研究某个话题、不需要全量时用这个。 Media —— 只要带图或视频的。

我们用同一条查询测了三种模式:Latest 返回 22 条,Top 返回 20 条,Media 返回 48 条。

Media 反而更多,这有点反直觉但很稳定 —— 它是从一个形状不同的索引里取,而不是在同一批结果上做过滤。

如果某条查询在一种模式下看起来是空的,先换个模式试试,再下"没有内容"的结论。


不登录能搜吗

网页端退出登录也能看搜索结果,但 X 对此有限制,能看到多少并不稳定。

如果你需要可靠且反复拿到搜索结果 —— 给脚本用、给看板用,任何自动化场景 —— 退出登录的浏览不是个能依赖的基础。它被严格限流,而且规则随时会变。


从代码里搜索

同样的操作符在 API 上也生效 —— 当你的搜索要定时跑而不是在浏览器标签页里跑时,你需要的就是它。

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"]

# 语法和搜索框里完全一样
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']} 赞): {tweet['text'][:100]}")

动手搭之前有两点值得先知道:

搜账号是另一个接口。 如果你要的是而不是推文 —— 比如"找做机器学习的账号" —— 那是用户搜索,返回的是带粉丝数和简介的资料对象,不是推文。

搜索结果偏向近期。 不要设计一个"靠搜索重建几个月历史"的方案。需要连续历史的话,从现在开始持续采集。


已经失效的那些

老教程里还在列、但现在已经没用的:

  • near:within: —— 地理位置搜索。基本已死,几乎没有推文带它们需要的位置数据了。
  • source: —— 按发布客户端过滤。已移除。
  • filter:safe —— 安全搜索过滤。没了。
  • :):( —— 早年的情绪操作符。不再生效。

如果一份教程不加说明地列着这些,说明它很久没核对过了 —— 这一点对它其余内容同样值得警惕。


大家会问的问题

怎么用推特高级搜索? 两种方式:x.com/search-advanced 的表单,或者把操作符直接打进搜索框。操作符比表单灵活。

限定时间范围的操作符是什么? since:YYYY-MM-DDuntil:YYYY-MM-DD。都包含所给日期,可以组合。

怎么按日期搜推文? 在查询里加 since:until:。搜很老的内容要预期有缺口 —— X 的索引偏向近期。

怎么搜某个人发的推文? from:username。再叠加其它操作符进一步收窄。

不登录能搜推特吗? 网页端能搜到一部分。有限制而且不稳定,不适合作为长期依赖。

怎么找已删除的推文? 找不到 —— 一旦删除,它就从搜索里消失了。你找到的是别人引用或截图的副本。唯一可靠的办法是在删除之前就归档。

最低点赞数的操作符是什么? min_faves:N。还有 min_retweets:min_replies:。这些不在 X 官方文档里,但确实有效。

怎么排除转发? -filter:retweets。同样的写法适用于 -filter:replies-filter:links

有专门的推特搜索引擎吗? X 自己的搜索就是那个索引。第三方工具是在它之上查询,再加上过滤或导出功能;没有谁自己另建了一份 X 的索引。

怎么搜精确短语? 用英文双引号括起来:"精确短语"。不加引号的话,只要包含这几个词就会命中,顺序无所谓。

推特搜索能用 OR 吗? 能,但必须大写apple OR orange。小写的 or 会被当成搜索词。

推特搜索能回溯多久? 名义上到最早,实际上老内容的结果会迅速稀疏。最近几个月很可靠,几年前的时好时坏。

怎么只在某个账号的推文里搜? from:username 关键词。这就是账号内检索。

Latest 和 Top 有什么区别? Latest 按时间,Top 按互动量排序。监控用 Latest,做研究用 Top。

能只搜带图的推文吗? filter:media;想细分就用 filter:imagesfilter:videos

怎么搜话题标签? 直接写 #标签。建议配上 min_faves:,除非你想要全部。

为什么我的搜索什么都搜不到? 要么查询限制得太死(几个窄的操作符叠加起来会相乘成零),要么是撞上了一次瞬时拒绝。逐个去掉操作符,就能找出是哪个把结果清空的。

能搜某条推文下的回复吗? 搜索里不能直接按推文 ID 搜。to:username 能拿到发给某账号的回复;要精确到一条对话则需要回复接口。

怎么自动化推特搜索? 把查询通过 API 定时跑。语法一样,区别是你能对结果做处理。

手机上能用高级搜索吗? 操作符能用。高级搜索表单在 App 里没有 —— 把语法打进普通搜索框即可。

能按地理位置搜吗? 基本不能。near:within: 语法还能解析,但几乎没有推文带它们需要的位置数据。

怎么找某个话题下最多赞的推文? 设一个高阈值再按 Top 排序:话题 min_faves:5000

手机端的高级搜索在哪?App 里没有高级搜索表单。直接把运算符打进搜索框 —— 它们在任何地方的行为完全一致。

安卓上怎么用高级搜索? 同一个答案:直接打运算符。表单只是网页端的便利,不是功能本身★ —— 运算符才是功能

高级搜索页面在哪? 在网页端,从搜索设置进去。它只是帮你拼出一个查询串★,而那个串你也可以手写。

推特搜索页面在哪? 每个界面上都有搜索 —— ★高级表单只有网页端,但运算符在哪里都能用★。

推特有哪些搜索运算符? from:to:since:until:filter:min_faves:,以及用 - 做否定。 ★它们可以自由组合。★

怎么用搜索过滤器? filter:mediafilter:linksfilter:replies —— ★前面加 - 就是排除★。

安卓上有高级搜索吗? ★表单没有,但运算符有。★ 直接把它们打进普通搜索框。

能保存一个搜索吗? 能,在界面里 —— ★不过把查询存在你自己的代码里更可移植★。

最有用的运算符是哪个?from: 配合一个加引号的短语★ —— 在一个账号内搜索

怎么排除一个词? 在它前面加 - —— ★同样的否定对过滤器也有效★。

怎么搜索一个精确短语? 用英文双引号把它包起来。 ★这是能用到的最高精度形式。★

能按互动量搜索吗? min_faves:min_retweets:min_replies: —— ★跳过噪音最快的办法★。

运算符在接口里有效吗? 有效 —— 查询串是直接透传的。 ★运算符不是界面功能。★

能组合很多个运算符吗? 能,而价值正在于此 —— ★一个查询能回答下拉根本回答不了的问题★。

我的高级搜索为什么返回空? ★通常是组合太窄,或者日期格式有问题★ —— 一次去掉一个约束条件试试。


如果你要成规模地做

上面这些在搜索框里都能用。自动化之后变化的是它周围的工作:搜索会间歇性拒绝请求,而修复它的重试策略不是直觉上那一个;结果需要跨轮次去重;翻页有自己的规则。

这些正是我们的 API 在处理的 —— 同样的操作符语法,加上底下的重试与节流。固定按次价格,没有属于你的限流要管。

有两种情况我们不收钱:请求还没发出去就被我们拒绝的(比如查询写错),以及我方原因导致的错误。

延伸阅读:实时监控关键词 · X 接口报限流错误时该怎么办 · 追踪粉丝与取关