您需要提取实时 Twitter (X) 个人资料详细信息、关注列表和用户的最新回复,而无需构建和维护爬虫。在本指南结束时,您将能够对 Zyla API Hub 上的 Twitter 数据一体化 API 发出经过身份验证的请求,以提取个人资料、获取“关于”元数据、列出用户关注的人以及阅读他们的回复——准备在本周将其投入到您的社交媒体工作流程中。
此 API 的功能及使用时机
Twitter 数据一体化 API 提供结构化的端点,以检索公共账户的 Twitter (X) 数据:核心资料、附加的个人资料“关于”信息、关注列表和用户回复。团队使用它来:
- 自动填充用户简介、头像和来自 Twitter 的名称的入职流程。
- CRM/潜在客户丰富——存储验证状态和关注者上下文。
- 创作者分析——跟踪新的关注和回复活动。
- 审核和监控——扫描来自某个账号的最新回复。
它通过 Zyla API Hub 提供,后者提供一个账户、一个 API 密钥,以及超过 10,000 个公共 API 的订阅和配额模型。Twitter 数据一体化 API 属于社交媒体与网络类别,因此它可以无缝融入社交数据管道。
在 Zyla API Hub 上开始
打开 Zyla 上的 Twitter 数据一体化 API 页面,点击订阅或开始免费试用,并获取您的 API 密钥。账户上的第一个 API 通常包括 7 天的试用或 50 次请求;请查看项目页面以获取当前访问选项和定价。所有请求都使用 Authorization: Bearer YOUR_API_KEY 头部——无需额外的令牌。
从这里开始: 开始 7 天的 Twitter 数据一体化 API 试用。
您还可以在 Zyla API Hub 浏览更广泛的市场,以便在单个密钥下将多个 API 插入到您的堆栈中。
身份验证和请求模式
所有端点都是简单的 GET 请求,必要时带有 screenname 参数,以及用于身份验证的 Bearer 令牌:
- 头部:Authorization: Bearer YOUR_API_KEY
- 参数:screenname (字符串),例如,elonmusk
按原样复制本指南中的 curl 示例,将 YOUR_API_KEY 替换为您的密钥,您将立即获得 JSON 响应。
您将使用的端点
1) 个人资料
通过句柄提取核心个人资料。
- 方法:GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3673/profile
- 参数:screenname(必需)
官方示例:
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3673/profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
官方 JSON 响应:
{
"status": "active",
"profile": "MikeCiesla",
"rest_id": "23880336",
"blue_verified": true,
"affiliates": [],
"business_account": [],
"avatar": "https://pbs.twimg.com/profile_images/1699329166234247168/G1W8YKJy_normal.jpg",
"header_image": "https://pbs.twimg.com/profile_banners/23880336/1695301088",
"desc": "Web3 at Google Cloud",
"name": "MikeCiesla",
"protected": null,
"location": "🦘🇦🇺",
"friends": 969,
"sub_count": 219,
"statuses_count": 48,
"media_count": 2,
"pinned_tweet_ids_str": [],
"created_at": "Thu Mar 12 02:45:15 +0000 2009",
"id": "23880336"
}
您实际使用的内容:
- name、desc、avatar、header_image 用于 UI 显示。
- blue_verified 用于验证徽章。
- rest_id 和 id 作为数据库中的稳定标识符。
- created_at 用于账户年龄逻辑。
2) 关于个人资料
返回有关个人资料的附加元数据(隶属关系、验证、“关于”上下文)。
- 方法:GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile
- 参数:screenname(必需)
示例请求:
示例响应:
当您需要“blue_verified”、隶属徽章或“关于”块以获取更丰富的用户上下文时,这非常有用。将 rest_id/id 存储在您的内部用户记录中,以避免稍后通过 screenname 重新解析。
3) 关注
返回用户关注的账户列表。
- 方法:GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following
- 参数:screenname(必需)
示例请求:
示例响应:
关键字段:user_id 和 screen_name 用于映射关系;followers_count/friends_count 用于快速评分;more_users 指示此调用是否有更多结果可用。在缓存时,优先使用 user_id 作为稳定键。
4) 用户回复
获取用户时间线上的回复列表。对于社区管理、影响者监控或构建“最近互动”功能非常有用。
- 方法:GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies
- 参数:screenname(必需)
示例请求:
示例响应(源截断):
{"timeline":[{"tweet_id":"1867196702865674450","bookmarks":0,"created_at":"Thu Dec 12 13:15:59 +0000 2024","favorites":0,"text":"RT @cb_doge: 每位与传统媒体叙事作斗争并在本次选举中传播真相的公民记者都是年度人物。…","lang":"en","in_reply_to_status_id_str":null,"views":null,"quotes":0,"replies":0,"retweets":10,"conversation_id":"1867196702865674450","media":[],"entities":{"user_mentions":[{"id_str":"1389913567671975937","name":"DogeDesigner","screen_name":"cb_doge"}],"urls":[],"hashtags":[],"symbols":[]},"author":{"rest_id":"44196397","name":"Elon Musk","screen_name":"elonmusk","followers_count":207267106,"favourites_count":99802,"avatar":"https:\/\/pbs.twimg.com\/profile_images\/1858316737780781056\/kPL61o0F_normal.jpg","blue_verified":true},"retweeted":{"id":"1867196122143563838"},"retweeted_tweet":{"tweet_id":"1867196122143563838","bookmarks":0,"created_at":"Thu Dec 12 13:13:41 +0000 2024","favorites":119,"text":"每位与传统媒体叙事作斗争并在本次选举中传播真相的公民记者都是年度人物。
https:\/\/t.co\/B8boPofzKx","lang":"en","quotes":2,"replies":60,"retweets":10,"conv…
常用字段包括 tweet_id、created_at、text、retweets、replies 和 entities.user_mentions。created_at 值是时间戳字符串;如果您持久化它,请在写入时转换为您首选的日期时间格式。
您现在可以发送的请求
以下是一个最小的 Python 示例,用于调用关于个人资料端点并提取您通常在应用程序或工作流程中使用的几个字段:
import requests
API_KEY = "YOUR_API_KEY"
SCREENNAME = "elonmusk"
url = "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile"
params = {"screenname": SCREENNAME}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=20)
resp.raise_for_status()
data = resp.json()
# 安全读取选定字段
rest_id = data.get("rest_id")
name = data.get("name")
blue_verified = data.get("blue_verified")
avatar = data.get("avatar")
about = data.get("about", {}) or {}
account_based_in = about.get("account_based_in")
affiliate_username = about.get("affiliate_username")
print({
"rest_id": rest_id,
"name": name,
"blue_verified": blue_verified,
"avatar": avatar,
"account_based_in": account_based_in,
"affiliate_username": affiliate_username
})
注意:
- 始终按所示方式传递 Authorization 头。
- 如果您缓存响应,请存储 rest_id/id 以在重命名之间保持稳定身份。
- 对于头像和头部图像,请考虑刷新策略(例如,每日),因为媒体 URL 可能会更改。
节省时间的实用实施细节
- 授权:所有端点都需要 Authorization: Bearer YOUR_API_KEY。请勿附加额外的令牌或查询身份验证参数。
- 参数表面:仅在显示的地方需要 screenname。请勿添加未记录的参数。
- 时间戳:created_at 字段以 Twitter 风格的字符串形式出现(例如,Thu Mar 12 02:45:15 +0000 2009)。如果您的后端期望,请在摄取时规范化为 ISO-8601。
- 身份:使用 id/rest_id 在端点之间去重(个人资料、关于个人资料、回复)。
- 关注分页:响应包括 more_users 作为布尔指示符。此处公开的请求表面未记录分页参数;请相应设计您的同步。
- 缓存:考虑在个人资料和关于个人资料上使用短 TTL(例如,几分钟到几小时),并根据您的新鲜需求对关注/回复使用更紧密的循环。
- 错误处理:将非 2xx 视为可重试或警报条件,具体取决于您的工作流程。防御性地解析 JSON,因为某些嵌套对象可能为 null 或数组。
常见用例
1) 使用 Twitter 的丰富登录
首次登录时,调用个人资料和关于个人资料,以使用名称、描述、头像、blue_verified 和隶属关系填充用户记录。根据 blue_verified 渲染验证徽章。
2) 登陆页面上的社交证明
从关注项目中提取 followers_count 和 friends_count,以便为您关心的特色账户提供支持。结合头像/名称,制作带有“截至”时间戳的小型缓存个人资料卡。
3) 创作者仪表板
显示用户的最新回复,从用户回复中获取转发、回复和引用的计数。汇总一天或一周的总数并绘制趋势。
4) CRM 丰富
当潜在客户提供句柄时,调用关于个人资料以确认验证和隶属标签。即使他们更改了屏幕名称,也要存储 rest_id 以便将来查找。
通过 MCP 从 AI 代理调用 API
您可以通过 Zyla 的模型上下文协议 (MCP) 端点在 Claude Code、Cursor、Windsurf 或任何兼容 MCP 的客户端中路由请求。将您的代理/工具指向 MCP 端点并包括您的 API 密钥:
- 端点: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
从那里,您的代理可以调用上述文档中相同的 Hub 端点。当您希望您的编码环境或自主代理在开发过程中内联获取 Twitter 个人资料数据、关注列表或回复时,这非常有用。有关 MCP 传输的更多信息,请参见 MCP。
端到端流程示例
- 获取主要个人资料记录:
- 使用“关于”信息(验证、隶属徽章)进行增强:
- 检索用户关注的人(用于社交证明或网络图):
- 列出最近的回复以进行参与分析:
在调用之间持久化 rest_id/id,以保持数据模型的规范化。对于前端,缓存头像和头部图像,使用合理的 TTL 和尽可能使用 ETag 感知的 CDN。
故障排除清单
- 401/403 错误:确保您的 Authorization 头使用 Bearer YOUR_API_KEY,并且您在 API 页面上的订阅处于活动状态。
- 空或部分数组:用户可能具有有限的可见性,或者该类别中可能没有最近的数据。优雅地处理空状态。
- 字段可空性:某些属性(例如,business_account、affiliates)可能为 null 或空数组。编写安全的映射器。
- 国际化:文本和描述字段是 Unicode;确保 UTF-8 端到端。
常见问题解答
Q1:身份验证需要哪个头部?
每个请求的 Authorization: Bearer YOUR_API_KEY。
Q2:最小参数集是什么?
对于所示的端点,传递 screenname 作为必需的查询参数(例如,screenname=elonmusk)。
Q3:我可以对 Following 结果进行分页吗?
响应包括 more_users 作为布尔指示符。此处未记录分页的请求参数;请查阅 API 页面以获取当前行为。
Q4:所有用户都有保证字段吗?
并非所有字段都是保证的。某些字段可能为 null 或缺失,具体取决于账户。始终检查存在性并处理 null。
Q5:我如何从 AI 编码助手调用它?
将您的兼容 MCP 客户端指向 https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY 并调用相同的 Hub 端点。有关详细信息,请参见本文中的 MCP 链接。
准备将其集成到您的堆栈中吗?创建一个免费账户,获取您的密钥,并从项目页面开始使用 7 天的试用: 开始 7 天的 Twitter 数据一体化 API 试用。如果您正在集成多个服务,请记住,您可以在 Zyla API Hub 下的单个密钥下管理它们所有。