Skip to main content

如何通过 API 分析 Twitter 竞争对手

本指南介绍使用 Sorsa API 分析 X(原 Twitter)竞争对手的完整工作流:资料对标、内容策略拆解、受众构成、公众情感和声量份额。各阶段对应具体端点,并可组合为定期运行的每周报告。 所有示例使用 Python 3.8+ 和 requests。请将各代码片段中的 YOUR_API_KEY 替换为实际密钥。页面底部提供包含所有辅助函数的完整整合脚本。
免费开始: 本指南全部端点都可使用初始赠送的 100 次请求,一次性赠送,无需信用卡,永不过期。可先以较浅的分页深度试跑完整流程,再选择套餐。
注意: 更多策略背景和实例请参阅博客上的 Twitter 竞品分析:开发者指南
无代码方案: 临时并排比较两个账号时,可使用资料对比工具。它返回粉丝数、互动率、每条推文平均点赞和转推数、发帖频率以及账号年龄。互动率计算器可计算单个账号的每条推文互动率。

环境设置

每个请求通过 ApiKey 请求头验证身份,详情见身份验证

第一阶段:资料对标

端点:GET /v3/infoGET /v3/info-batch 建立基线:粉丝数、发帖量、账号年龄、简介和认证状态。使用 /info-batch 一次获取最多 100 份资料,只扣除一次请求配额。

快照脚本

追踪随时间的增长

一次快照只能提供基线,测量增长至少需要两个带日期的观察点。通过 cron、GitHub Actions 等按日或按周记录快照,并计算变化量:
辅助函数将最新快照与指定截止日期当天或之前的最近观察值比较。快照间隔不规则时,实际时间跨度可能超过 days;若需更贴近目标时间,应每天记录。生产历史中应同时保存用户 ID 和用户名,避免改名后将同一账号拆成多条记录。 增长公式:

简介和定位变化

/info 返回 descriptionlocationbio_urlscreated_at。比较快照中的这些字段,可发现简介、链接目标等定位变化,无需额外调用。

第二阶段:内容策略

端点:POST /v3/user-tweetsPOST /v3/search-tweets 获取竞争对手近期推文,拆解原创、回复、引用和转推的内容组合、平均互动和表现最佳的帖子。

获取近期推文

/user-tweets 每页最多返回 20 条。与官方 X API 时间线端点不同,它没有 3,200 条硬上限,可继续分页获取更早历史。时间跨度很大时,使用带 since:/until:/search-tweets 更可靠,见下方说明。

拆解内容组合

这些类别可能重叠,例如带媒体的推文也可能是原创。因此各百分比是独立占比,不是加总为 100% 的互斥分类。

历史对比

比较同一账号两个时间窗口,例如第一季度与第四季度时,应从 /user-tweets 改用 /search-tweets,并使用 since:until:。完整语法见搜索运算符,回填方式见历史数据

第三阶段:受众构成

端点:GET /v3/followersGET /v3/verified-followersGET /v3/followers-stats 竞争对手的粉丝列表揭示其受众。主要有两种成本不同的方式。

认证粉丝(低成本)

/verified-followers 只返回关注目标的认证账号。这是受众中信息价值较高的一部分,成本也远低于获取完整关系图谱。
比较多个快照的认证粉丝列表,可发现各竞争对手新增的重要粉丝。记者的关注行为往往会比相关报道早 2–4 周。

完整粉丝提取(高成本)

/followers 每页最多返回 200 份资料。100 万粉丝的账号完整提取约需 5,000 次请求。请据此规划,套餐上限见价格,批量和预算方式见优化 API 使用

受众重叠

获得两个账号的粉丝列表后,按用户 ID 求集合交集:
粉丝提取的深入说明见粉丝与关注

加密货币与 Web3 粉丝分类

对于 Sorsa 加密货币数据库中的账号,/followers-stats 返回意见领袖、项目和 VC 分类。背景见 Sorsa Score 与加密货币分析
计数仅包含已被 Sorsa 加密货币数据库追踪的账号。

第四阶段:公众情感与提及

端点:POST /v3/mentions /mentions 支持最低点赞、转推、回复数和日期范围筛选。使用 min_likes 可减少机器人回复、自动标记等低价值噪声。完整筛选项见追踪提及

获取高互动提及

使用 VADER 进行情感分类

VADER 是针对社交媒体文本优化的开源情感分析库。它在本地运行,无逐次调用费用,并能较好处理否定、程度词和表情符号。
如果需要更准确处理讽刺、技术投诉或混合情感,可将 full_text 输入 LLM API(如 OpenAI、Anthropic)。混合方案先用 VADER 筛选,仅对被标记或高互动提及使用 LLM,便于控制成本。

第五阶段:声量份额

声量份额(SOV)衡量某品牌的提及量占整个类别的比例,公式为:
实现:
注意:
  • 设置最低互动门槛,例如 min_likes=5,以过滤机器人和垃圾内容噪声。
  • 追踪周环比变化,而不只看绝对快照。类别层面的事件可能扭曲绝对数量,掩盖自身变化。
  • 这些计数受 max_pages 限制,只描述获取到的样本。若要可比,应使用相同日期和筛选,并确认每个品牌都已读取全部页面;否则标明报告基于抽样。
  • 如果计算类别关键词的 SOV,例如“embedded finance”而非品牌提及,应将 /mentions 替换为 /search-tweets,并以该关键词查询作为分母。

整合的每周报告脚本

此脚本组合五个阶段,可放入 cron 任务、GitHub Actions 定时运行或其他任务执行器。
按脚本默认分页深度,完整分析三个竞争对手约需 100 次请求;提及很多、分页更深的活跃品牌略多,其他情况略少。每周运行一次,每月仅数百次,远低于 Starter 每月 10,000 次额度。可以先用免费 100 次请求,以较浅深度测试一两个竞争对手,再选择套餐。详情见价格

后续步骤