推特限流检测(2026):自己查账号有没有被限流
推特限流怎么检测、原因是什么、多久能解除:X 官方承认会限制哪些内容,手动搜索检查的步骤,以及一个对比时间线和搜索结果的免费 Python 脚本,附实测。
Tarun Khatri
发布于 · 更新于 · 阅读约 7 分钟 · Read in English
推特限流检测,就是看别人还能不能在 X 搜索里找到你的推文,这件事你自己就能做。
这篇写给曝光量突然下降的 X(推特)用户:X 官方承认会限制什么、怎么手动检查,以及一个免费的对比脚本。脚本调用的 API 是我们做的 Weir。
用一个没有关注你的账号,在“最新”标签下搜索:
from:你的用户名
- 找通知推文标签、只读模式或账号锁定。
- 换个身份搜索from:用户名 和一句原话,选“最新”。
- 检查回复和名字别人能找到你的回复和账号吗?
- 用 API 对比时间线里有、搜索里没有的推文。
- 通过 X 申诉从标签入口或 X 的申诉表单。
推特会限流吗?X 官方怎么说
X 不用“限流”或“影子封禁”这类说法,但它描述的做法很接近。2018 年推特写过“我们不做影子封禁”,意思是不会把你的推文藏起来、只让你自己看到。
2023 年 4 月,X 的博客把它叫作“可见度过滤”:限制违反规则的推文的传播范围。X 帮助中心列出了可能的限制:
- 搜索: 推文不出现在搜索结果和趋势里。
- 时间线: 推文从“为你推荐”和“正在关注”里移除。
- 回复: 在回复区里被“降低排序”。
- 互动: 可能关闭对它的点赞、回复或转推。
X 说这类推文会带一个标签,你和看到它的人都能看见。
搜索另有规则:X 会“为了高质量的推文和账号”过滤搜索,可能排除发重复内容或滥用话题标签的账号。
第 1 步:先找 X 的通知
先找通知,因为这是唯一确定的答案。
- 推文上的标签。 打开你最近的推文,看每条下面有没有说明。
- 只读模式。 X 可能会暂时禁止你发推、转推或点赞。
- 账号被锁定。 X 可能会要你验证手机号或邮箱。
没有通知也不代表没事:X 的搜索规则里,搜索过滤并不会发通知。
第 2 步:手动做推特限流检测
这就是常说的推特搜索限流检测。推特 2018 年的文章说,你总能看到自己关注的账号的推文,所以要用一个没有关注你的账号来测。
在“最新”标签下搜你的用户名,你最近的推文应该都在列表里。
再从你最新的一条推文里复制五六个词,加上引号搜索:
"你上一条推文里的原话"
两种搜索都找不到的推文,才是值得记下来的结果。我们的推特高级搜索生成器可以帮你写这些语句。
第 3 步:检查你的回复和名字
用另一个账号,打开一条你最近回复过的推文。如果要翻很久才找到你的回复,它可能被降低了排序。
然后在搜索框里输入你的名字。X 的帮助页说,账号搜索会优先显示资料完整的账号,也就是有名字、用户名和简介的账号。这两项都只能当参考。
第 4 步:用 API 对比时间线和搜索结果
你的时间线列出你发过的每一条推文,而搜索显示的是别人能找到的。时间线里有、from: 搜索里没有的推文,就是信号。
Weir 的搜索不会以你的账号身份运行。你需要 Python 3、requests,以及放在 WEIR_API_KEY 里的免费 Key。第一部分读取你的推文,跳过转推:
import os, sys, requests
from datetime import datetime, timedelta, timezone
API = "https://api.weirapp.io/v1/x"
HEAD = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
def own_posts(user):
r = requests.get(f"{API}/users/{user}/posts", headers=HEAD, timeout=60)
r.raise_for_status() # 404: protected, suspended or not found
return [p for p in r.json()["data"] if not p["retweetedPost"]]
第二部分在同样的日期范围内搜索 from:。X 的搜索默认包含转推,所以用 -filter:nativeretweets 去掉它们,原因见我们的推特高级搜索语法实测。找齐所有推文,或者遇到值为 null 的 cursor 时停止:
def found_in_search(user, since, wanted, max_pages=5):
body = {"fromUsers": [user], "query": "-filter:nativeretweets",
"onlyOriginal": True, "since": since, "limit": 20}
found = set()
for _ in range(max_pages):
r = requests.post(f"{API}/search", json=body, headers=HEAD, timeout=60)
r.raise_for_status()
page = r.json()
found |= {p["id"] for p in page["data"]} & wanted
if found == wanted or not page["meta"]["nextCursor"]:
return found, True
body["cursor"] = page["meta"]["nextCursor"]
return found, False
第三部分检查过去 7 天,并输出一个信号:
user = sys.argv[1].lstrip("@")
start = (datetime.now(timezone.utc) - timedelta(days=7)).strftime("%Y-%m-%d")
posts = [p for p in own_posts(user) if p["createdAt"][:10] >= start]
if not posts:
sys.exit("No posts from the last 7 days to check.")
since = min(p["createdAt"][:10] for p in posts) + "T00:00:00Z"
found, complete = found_in_search(user, since, {p["id"] for p in posts})
missing = [p for p in posts if p["id"] not in found]
print(f"@{user}: {len(found)} of {len(posts)} recent posts found in search")
for p in missing:
print(" missing:", p["createdAt"][:16], p["url"])
if not missing:
print("Signal: none. Your recent posts show up in search.")
elif not complete:
print("Signal: unclear. Raise max_pages.")
elif len(posts) < 3:
print("Signal: too few posts to judge.")
elif len(missing) == len(posts):
print("Signal: strong. None show up in search.")
else:
print("Signal: weak. Run it again tomorrow.")
保存为 shadow_check.py,然后运行 python shadow_check.py 你的用户名。2026 年 10 月 22 日,我们用较小的 limit 对 @github 做了同样的两次调用:
@github: 1 of 1 recent posts found in search
Signal: none. Your recent posts show up in search.
我们读到的时间线页面上有一条 10 月 7 日的置顶推文、一条转推和一条新推文。脚本跳过了前两条。
完整检查一次读 20 条推文,如果搜索一次就全部找到,最多花 44 积分。Weir 每月 5,000 免费积分够检查 100 多次。
第 5 步:把结果当信号,不要当证据
脚本看不到推文为什么搜不到,所以它的结论只是一条线索:
| 结果 | 可能的含义 | 下一步 |
|---|---|---|
| 全部找到 | 搜索里没有限流迹象 | 看发布时间和话题 |
| 部分缺失 | 弱信号 | 明天再跑一次 |
| 全部缺失 | 强信号 | 再仔细找一遍标签 |
| 无法判断 | 搜索翻页不够 | 调大 max_pages |
X 的搜索帮助页也列出了一些和限流无关的原因:
- 受保护的推文 只有被批准的关注者才能在搜索里看到。
- 邮箱没有验证 可能让你的推文不出现在搜索里。
- 安全搜索 会隐藏可能包含敏感内容的推文。
- 搜索本来就不完整。 X 说它“可能不会显示每一条推文”。
第 6 步:推特限流怎么解除:申诉或联系 X
只有 X 能解除限制。它的页面给了三个途径:
- 推文带了标签。 如果你认为 X 误判了,就对标签提出申诉。
- 账号被锁定或封禁。 在 App 里申诉,或者用 X 针对锁定账号的申诉表单。
- 搜不到但没有任何通知。 X 的搜索规则会把你引到它的“搜索帮助”检查清单。帮助中心也有“联系我们”的入口。
推特限流检测工具准吗?
这类工具做的就是上面的公开搜索,再给结果贴个标签,没有一个能看到 X 的内部标签。
X 的 API 数据字典里也没有任何字段标明推文被搜索过滤,所以每个工具的结论都是推测,我们的也一样。
什么时候不适合用 Weir
- 你要 X 官方的答案。 只有 X 能看到它的标签。
- 看一次就够了。 第 2 步的搜索不花钱。
- 你的账号是受保护的。 Weir 只读公开数据,会返回 404。
- 你最在乎单条推文的成本。 TwitterAPI.io 标价每千条推文 $0.15,还能发推。
X 的服务条款写明,未经 X 明确的书面许可,你“不能抓取服务内容”,请确认哪些条款适用于你。本文不构成法律建议。
常见问题
怎么查推特账号有没有被限流?
先看你的推文上有没有标签。然后请一个没关注你的人,在“最新”标签下搜索 from:你的用户名。搜不到的推文是一个信号,不是证据。
有免费的推特限流检测工具吗?
有,好几个网站可以免费查,我们的脚本也用 Weir 每月的免费积分运行。但它们都看不到 X 的内部标签,结论只能当信号。
推特限流几天能解除?
我们读过的 X 帮助页都没有给出时间,排名靠前的教程也没有给出有来源的数字。过几天再检查一次,如果找到标签,就通过 X 申诉。
X 承认会限流吗?
不用这个说法。从 2023 年起,X 说它会限制违反规则的推文的传播范围,并给它们加标签。它也会把一些账号排除在搜索之外。
参考来源
以下于 2026 年 10 月 22 日核对,均为英文页面。X 的博客和帮助页为互联网档案馆副本,括号内是副本日期:
- 推特博客,2018 年 7 月 26 日(2026 年 10 月 12 日副本):https://blog.x.com/en_us/topics/company/2018/Setting-the-record-straight-on-shadow-banning
- X 博客,2023 年 4 月 17 日(2026 年 10 月 3 日副本):https://blog.x.com/en_us/topics/product/2023/freedom-of-speech-not-reach-an-update-on-our-enforcement-philosophy
- X 帮助中心,执行措施(2026 年 9 月 24 日):https://help.x.com/en/rules-and-policies/enforcement-options
- X 帮助中心,搜索规则(2026 年 10 月 8 日):https://help.x.com/en/rules-and-policies/x-search-policies
- X 帮助中心,搜索问题(2025 年 9 月 10 日):https://help.x.com/en/using-x/x-search-not-working
- X 帮助中心,申诉表单(2026 年 6 月 5 日):https://help.x.com/en/forms/account-access/appeals
- X 服务条款,2026 年 10 月 9 日生效(2026 年 10 月 17 日):https://x.com/en/tos
- X API 数据字典(直接访问):https://docs.x.com/x-api/fundamentals/data-dictionary
- TwitterAPI.io 价格和发推文档:https://twitterapi.io/pricing、https://docs.twitterapi.io/api-reference/endpoint/create_tweet_v2
- Weir 文档:https://docs.weirapp.io/reference/x/getXUserPosts、https://docs.weirapp.io/reference/x/searchX、https://docs.weirapp.io/billing
- 我们对 @github 的两次 Weir 调用,2026 年 10 月 22 日,共 10 积分