您的团队本周需要可靠的 Twitter 风格的个人资料和活动数据——无需 OAuth 操作,无需抓取,只需干净的端点即可交付。通过本指南,您将了解如何使用 Zyla API Hub 上的 Twitter 数据全合一 API 获取任何公共屏幕名称的个人资料元数据、关注列表和最近的回复,并提供可以直接放入您服务中的 curl 和 Python 示例。
您可以使用此 API 构建的内容
Twitter 数据全合一 API 暴露了开发人员通常需要的关键社交信号:
- 个人资料快照:帐户状态、验证、头像、基本计数和元数据。
- 关注列表:用户关注的人,包括简历和快速排名的计数。
- 回复时间线:最近的回复/转发,带有参与计数和作者上下文。
典型用例包括社交注册丰富、内容应用中的作者页面、品牌监控仪表板和轻量级分析管道——所有这些都无需管理基础社交网络不断变化的网络表面。
在 Zyla API Hub 上开始
Twitter 数据全合一 API 可在 Zyla API Hub 上使用,该平台提供一个帐户、一个 API 密钥以及超过 10,000 个公共 API 的订阅 + 配额模型。要获取 API 密钥:
- 打开列表并订阅:开始 Twitter 数据全合一 API 的 7 天试用。
- 从仪表板复制您的 API 密钥。
- 使用头部 Authorization: Bearer YOUR_API_KEY 发送请求。
访问是基于订阅的(不是按调用付费)。请查看 API 页面以获取当前访问选项和定价。第一次集成可以从列表页面开始 7 天试用。
端点概述
以下是文档化的端点,包括方法、确切请求 URL 和所需参数。所有端点都需要带有您的密钥的 Authorization 头。
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"
}
您可能会使用的注释:
- status 表示帐户状态。
- rest_id 和 id 是用户的字符串标识符。
- blue_verified 是您可以直接显示的布尔值。
- avatar 和 header_image 是准备显示的图像 URL。
- friends 通常映射到关注计数;media_count 和 statuses_count 对于排名活动很有用。
- created_at 是时间戳字符串;将其视为 UTC。
2) 关于个人资料
返回有关个人资料的附加信息,包括验证上下文和帐户元数据。
- 方法:GET
- URL:https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile
- 所需查询参数:screenname
示例请求(按原样复制粘贴):
示例响应:
亮点:
- affiliates.label 包含您可以在个人资料旁边显示的徽章和描述链接。
- verified_since 是一个字符串;如果您需要显示它,请按原样处理,除非您在下游进行转换。
- about 字段有助于解释帐户来源、位置准确性和附属用户名。
3) 关注
返回用户正在关注的帐户列表。
- 方法:GET
- URL:https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following
- 所需查询参数:screenname
示例请求(按原样复制粘贴):
示例响应:
实施提示:
- 使用 followers_count 和 friends_count 来评分影响力或过滤噪音帐户。
- more_users 表示是否有额外结果的分页可用;检查此布尔值以决定是否需要请求更多页面(如果 API 在您的计划中公开分页,请查看列表文档以获取详细信息)。
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…
注意事项:
- created_at 字段是时间戳字符串;如果您聚合,请将其标准化为 UTC。
- entities 提供了下游 NLP 或链接化的提及/标签。
- retweeted 和 retweeted_tweet 为您提供上下文,以便将转发与回复区分开来。
身份验证
每个请求必须包含头部:
Authorization: Bearer YOUR_API_KEY
API 密钥是在 Zyla API Hub 列表中订阅时发放的。请勿将密钥放入查询参数中。
您可以交付的可复制代码
curl(官方个人资料示例)
Python:获取“关于个人资料”并读取验证和附属徽章
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile"
def get_about_profile(screenname: str):
url = f"{BASE_URL}?screenname={screenname}"
resp = requests.get(url, headers={"Authorization": f"Bearer {API_KEY}"}, timeout=20)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
data = get_about_profile("elonmusk")
# 您可能需要的核心字段
status = data.get("status")
rest_id = data.get("rest_id")
name = data.get("name")
blue_verified = data.get("blue_verified")
avatar = data.get("avatar")
# 如果存在,附属徽章 URL 可选
affiliates = data.get("affiliates") or {}
label = (affiliates.get("label") or {})
badge = (label.get("badge") or {})
badge_url = badge.get("url")
print("status:", status)
print("rest_id:", rest_id)
print("name:", name)
print("blue_verified:", blue_verified)
print("avatar:", avatar)
print("affiliate_badge_url:", badge_url)
此示例调用单个屏幕名称的关于个人资料端点,提取标识符和验证标志,并安全地访问嵌套的附属徽章 URL(如果存在)。
实用实施注意事项
- 时间戳:created_at 值是时间戳字符串。将其视为 UTC 进行存储,并在 UI 中根据需要转换为本地时间。
- IDs:rest_id 和 id 是字符串——存储为文本以避免精度问题。
- 缓存:个人资料变化不频繁;TTL 从几分钟到几小时是常见的。时间线和关注列表可能需要更短的 TTL,具体取决于您的 UI。
- 分页:关注响应包括 more_users 以指示可能有更多页面可用。如果为真,请查看您计划中的列表文档以获取分页使用情况。
- 错误处理:将非 2xx 响应视为临时或权限错误,并记录请求 URL 和您的应用程序使用的关联 ID。谨慎重试以避免限流。
- 配额:访问是订阅 + 配额(不是按调用付费)。请查看您的计划以获取请求限制。当处于试用期时,请保持请求目标明确(例如,在客户端批量处理屏幕名称并去重)。
您可以快速实现的现实世界模式
- 注册时的个人资料丰富:调用个人资料,然后调用关于个人资料,以在用户页面上显示头像、姓名、验证徽章和位置。
- 作者页面侧边栏:获取关注并突出显示按 followers_count 排名的顶级帐户,使用描述和 profile_image 显示工具提示。
- 回复提要模块:使用用户回复显示来自某个句柄的最新回复/转发,显示计数(回复、转发、引用)和提及的实体。
- 验证横幅:读取 blue_verified 和 affiliates.label.badge 以有条件地呈现验证或商业标签。
如何通过 MCP 从 AI 代理调用此 API
如果您协调开发者工具或 AI 编码代理,您可以通过 Zyla 的 MCP 端点路由调用。兼容 MCP 的客户端(例如 Claude Code、Cursor、Windsurf)可以使用您的相同密钥访问市场 API。请从这里开始查看文档:MCP。
高级流程:
- 向您的 MCP 客户端提供 MCP 端点和您的 Zyla API 密钥。
- 从代理调用特定的 Twitter 数据全合一 API 端点,带有所需的查询参数 screenname 和 Authorization 头。
- 按照上面的示例准确解析 JSON;无论您是直接调用还是通过 MCP,返回的字段都是相同的。
逐端点字段检查清单
个人资料
- 身份:id、rest_id、name、profile
- 显示:avatar、header_image、desc、location
- 验证:blue_verified
- 活动:statuses_count、media_count、friends、sub_count、pinned_tweet_ids_str
- 生命周期:created_at、status
关于个人资料
- 身份:id、rest_id、name、profile
- 验证和上下文:blue_verified、affiliates.label.badge.url、verified_since
- 关于:account_based_in、location_accurate、affiliate_username、source、username_changes.count
- 显示:avatar
关注
- 用户条目:user_id、screen_name、name、description
- 显示:profile_image
- 计数器:followers_count、friends_count、statuses_count、media_count
- 分页提示:more_users
用户回复
- 推文条目:tweet_id、text、created_at、lang、conversation_id
- 参与:favorites、replies、retweets、quotes、bookmarks、views
- 实体:user_mentions、urls、hashtags、symbols
- 附件的媒体数组
- 上下文:author、retweeted、retweeted_tweet
逐步测试您的集成
1) 验证身份
运行官方个人资料 curl(如上所示)。如果您收到 JSON,则您的 Authorization 头是有效的。
2) 验证字段映射
首先将 avatar、name、blue_verified 映射到您的 UI;确认文本呈现和缺失字段(如 header_image 或 desc)的回退逻辑。
3) 添加关注列表
获取关注并显示按 followers_count 排序的短列表。使用 profile_image 作为内联头像。
4) 添加回复时间线
以本地时间呈现 created_at,如果存在 retweeted 和 retweeted_tweet,则以不同方式显示转发。
5) 缓存和观察
根据您的功能应用适当的 TTL。对于个人资料,开始时设置为 10-30 分钟,对于时间线,如果您期望频繁加载页面,则设置为 1-5 分钟。
安全性和操作
- 将 YOUR_API_KEY 保存在服务器端配置或管理的机密中,绝不要放在客户端 JavaScript 中。
- 记录请求 URL(不带令牌)和响应 HTTP 代码以便快速处理。
- 在连续的非 2xx 响应上退避,以避免达到计划限制。
- 为未能丰富的帖子构建一个最小的死信队列,以便您可以稍后重试。
常见问题解答
问:我使用哪个头进行身份验证?
答:Authorization: Bearer YOUR_API_KEY。
问:我需要每个用户的 OAuth 吗?
答:不。您可以直接使用您的 Zyla API 密钥和屏幕名称调用市场端点。
问:我如何处理关注的分页?
答:检查 more_users 布尔值。如果为真,请查看您计划中的列表文档以获取如何获取额外页面的信息。
问:created_at 时间戳是什么时区?
答:将 created_at 视为 UTC 时间戳字符串,并根据需要在客户端进行转换。
问:是否有免费计划?
答:没有免费计划。该 API 使用订阅 + 配额模型。可以从列表中获得 7 天试用;请查看页面以获取当前选项。
准备将其接入您的应用程序吗?在列表中订阅并获取您的密钥:开始 Twitter 数据全合一 API 的 7 天试用。使用单个密钥在 Zyla 的市场中构建并在本周交付您的社交数据集成。