您本周需要在 Node.js 应用中获取 Twitter 个人资料信息和互动上下文,而不是下个月。通过本指南,您将使用 Zyla API Hub 的 Twitter 数据全合一 API 获取经过验证的个人资料详细信息、用户的关注列表和最近的回复,并提供可复制粘贴的 curl 和 Node.js 代码,您可以直接投入生产。
您可以使用 Twitter 数据全合一 API 构建的内容
Twitter 数据全合一 API 帮助您以编程方式检索:
- 附加的个人资料信息(验证、商业标签、头像、账户来源详细信息)。
- 用户关注的账户列表。
- 用户的最近回复(包括转发、回复、引用的计数)。
典型的用例包括社交分析仪表板、具有 Twitter 存在的潜在客户的 CRM 增强、自动品牌监控,以及需要快速快照用户活动和关系的代理工作流。
所有调用通过 Zyla API Hub 运行,使用一个账户、一个 API 密钥和订阅 + 配额模型(不是按调用付费)。Zyla 的市场涵盖超过 10,000 个公共 API,因此您可以根据需要在类别之间重用相同的密钥。
在 Zyla API Hub 上开始
要开始,请打开 Zyla 上 API 的页面:Twitter 数据全合一 API。如果可用,请点击订阅或开始免费试用。Zyla 的第一个 API 通常提供 7 天的试用或 50 次请求;没有免费计划。请查看 API 页面以获取当前访问选项和定价。
订阅后,您将获得一个 API 密钥。使用以下头部进行每个请求的身份验证:Authorization: Bearer YOUR_API_KEY。
如果您还没有账户,请在这里创建一个:注册。
端点概述
以下所有端点都需要 Authorization 头部。示例使用文档中的 screenname 参数和具体 URL。请勿添加额外参数。
关于个人资料
返回有关个人资料的附加信息。
- 方法:GET
- URL:https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile
- 所需查询参数:
- screenname (字符串):elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
关注
获取用户关注的账户列表。
- 方法:GET
- URL:https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following
- 所需查询参数:
- screenname (字符串):elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
用户回复
检索用户的回复。
- 方法:GET
- URL:https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies
- 所需查询参数:
- screenname (字符串):elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Node.js 快速入门(关于个人资料)
此示例使用原生 fetch(Node.js 18+)。它调用关于个人资料的端点并读取几个有用的字段:验证、头像、商业标签和来源详细信息。
import { setTimeout as delay } from "node:timers/promises";
const API_URL = "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk";
const API_KEY = "YOUR_API_KEY"; // 安全存储(环境变量,秘密管理器)
async function fetchAboutProfile(retries = 3) {
for (let attempt = 1; attempt <= retries; attempt++) {
const res = await fetch(API_URL, {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
});
if (res.ok) {
const data = await res.json();
// 访问文档字段
const {
status,
profile,
rest_id,
blue_verified,
affiliates,
business_account,
verified_since,
avatar,
name,
protected: isProtected,
about,
id
} = data;
console.log("状态:", status);
console.log("个人资料:", profile, "(id:", id, "rest_id:", rest_id + ")");
console.log("蓝色验证:", blue_verified);
console.log("头像 URL:", avatar);
console.log("受保护:", isProtected);
console.log("商业账户:", business_account);
console.log("自验证以来(原始):", verified_since);
if (affiliates?.label) {
console.log("附属标签描述:", affiliates.label.description);
console.log("附属徽章 URL:", affiliates.label.badge?.url);
console.log("附属链接 URL:", affiliates.label.url?.url);
}
if (about) {
console.log("账户基于:", about.account_based_in);
console.log("位置准确:", about.location_accurate);
console.log("了解更多 URL:", about.learn_more_url);
console.log("附属用户名:", about.affiliate_username);
console.log("来源:", about.source);
console.log("用户名更改计数:", about.username_changes?.count);
}
return data;
}
// 在非 2xx 上简单重试并退避
if (attempt < retries) {
const waitMs = 250 * attempt;
console.warn(`HTTP ${res.status} - ${waitMs}ms 后重试...`);
await delay(waitMs);
continue;
} else {
const text = await res.text();
throw new Error(`请求在 ${retries} 次尝试后失败: ${res.status} ${text}`);
}
}
}
fetchAboutProfile().catch(err => {
console.error("错误:", err.message);
process.exit(1);
});
预期 JSON(关于个人资料)
以下是关于个人资料端点的文档示例响应。值与示例中返回的值相同。
{"status":"active","profile":"elonmusk","rest_id":"44196397","blue_verified":true,"affiliates":{"label":{"badge":{"url":"https:\/\/pbs.twimg.com\/profile_images\/1955359038532653056\/OSHY3ewP_bigger.jpg"},"description":"X","url":{"url":"https:\/\/twitter.com\/X","urlType":"DeepLink"},"userLabelDisplayType":"Badge","userLabelType":"BusinessLabel"}},"business_account":null,"verified_since":"-156836000000000","avatar":"https:\/\/pbs.twimg.com\/profile_images\/2008546467615580160\/57KcqsTA_normal.jpg","name":"Elon Musk","protected":false,"about":{"account_based_in":"United States","location_accurate":false,"learn_more_url":"https:\/\/help.twitter.com\/managing-your-account\/about-twitter-verified-accounts","affiliate_username":"X","source":"United States App Store","username_changes":{"count":"0"}},"id":"44196397"}
您可能会使用的字段说明:
- status:个人资料状态指示器。
- profile 和 id/rest_id:用于下游连接或缓存的标识符。
- blue_verified:布尔值;适用于 UI 中的资格徽章。
- affiliates.label:结构化的商业/附属徽章,带有链接和徽章 URL。
- avatar:当前头像图像 URL。
- about.account_based_in 和 about.source:有关账户来源的上下文。
- verified_since:作为字符串返回;除非您确认如何计划显示它,否则将其视为不透明值。
其他端点示例
关注(curl + 使用提示)
使用此功能构建关注者图谱探索器,展示共享兴趣,或用关注账户列表丰富 CRM 条目。
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
文档示例响应:
{"following":[{"user_id":"1671483632551186433","screen_name":"TechMine_Mw","description":"Malawi’s premier SAAS firm 🌐 | Leaders in digital transformation, website development, design, and marketing 🖥️🎨 | Shaping Malawi’s tech future 🇲🇼","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1847661011731431425\/FNhbpOqP_normal.jpg","statuses_count":5,"followers_count":6,"friends_count":10,"media_count":3,"name":"TechMine INC."},{"user_id":"44196397","screen_name":"elonmusk","description":"","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1874558173962481664\/8HSTqIlD_normal.jpg","statuses_count":65409,"followers_count":210941749,"friends_count":926,"media_count":3038,"name":"Elon Musk"}],"status":"ok","more_users":false}
实用说明:
- 使用 more_users 来决定您的 UI 是否应显示“加载更多”功能。将其视为额外数据可用性的布尔信号。
- 像 followers_count 和 friends_count 这样的计数是时间点快照,可能会频繁变化;相应地进行缓存。
用户回复(curl + 说明)
使用此功能展示用户的互动模式,或在他们参与与您的产品相关的线程时触发警报。
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
文档示例响应摘录(字段因推文而异;显示的值如提供):
{"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":"每个与遗留媒体叙事作斗争并传播真相的公民记者都是年度人物。\n\n https:\/\/t.co\/B8boPofzKx","lang":"en","quotes":2,"replies":60,"retweets":10,"conv…
实用说明:
- created_at 值作为日期时间字符串返回;按原样处理以进行显示或规范化为您应用的时区。
- 实体(提及、网址、标签)有助于链接内容或按主题过滤。
- 像回复、转发、引用这样的计数是快照计数;在没有定期刷新之前,不要假设分析的长期稳定性。
节省时间的生产提示
- 身份验证:始终设置 Authorization: Bearer YOUR_API_KEY。请勿添加额外的查询键。
- 错误处理:在非 2xx 上,针对瞬态问题进行重试并使用指数退避。记录响应体以进行调试。
- 缓存:个人资料数据的变化频率低于时间线—缓存关于个人资料的响应时间比回复时间线长。
- 速率和配额:市场使用订阅 + 配额。您在 Zyla 的第一个 API 通常包括 7 天的试用或 50 次请求。有关当前限制,请查看 API 页面。
- 可空性:像 business_account 这样的字段可能为 null。始终对嵌套路径进行 null 检查(例如,affiliates.label.badge)。
- 国际化:文本字段可能包含表情符号和非拉丁字符;确保端到端的 UTF-8 安全处理。
- 安全性:将 YOUR_API_KEY 保存在环境变量或秘密管理器中;切勿提交到源代码控制。
现实世界用例
- 潜在客户增强:提取关于个人资料的信息以标记 blue_verified,并附加头像/名称以供 SDR 工作流使用。
- 合作伙伴映射:使用关注来发现潜在客户关注的品牌和创作者,然后再进行接触。
- 互动警报:轮询用户回复并展示提及您品牌或竞争对手的线程。
- 代理工具:为您的内部 AI 助手提供获取快速个人资料快照和决策上下文的能力。
再次在此处探索 API 的页面以获取详细信息和更新:Twitter 数据全合一 API。浏览市场上的更多类别:Zyla API Hub。
通过 MCP 从 AI 代理调用 API
Twitter 数据全合一 API 可以通过 Zyla 的 MCP 端点从兼容 MCP 的客户端(例如 Claude Code、Cursor、Windsurf)调用。将您的 MCP 客户端指向:
当您的代理执行工具调用时,指示其调用文档中的 Hub URL(例如,关于个人资料的 URL),并包含头部 Authorization: Bearer YOUR_API_KEY。使用您在 curl 示例中看到的相同请求模式。这使您的编码代理能够按需检索 Twitter 数据,同时将身份验证集中在您的 MCP 配置中。
故障排除和可观察性
- 网络超时:设置合理的超时(5–15 秒)。在超时和 5xx 响应上实现重试。
- 部分数据:如果缺少嵌套字段(例如,affiliates.label),请将其视为您架构中的可选项,并继续渲染主要个人资料字段。
- 审计:记录请求 URL 和响应状态代码(不包括秘密)以关联峰值与部署或流量。
- 回填:对于批处理作业,错开请求并尊重您的配额以避免限流;缓存稳定实体,如 rest_id。
复制粘贴参考
关于个人资料(curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
关注(curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
用户回复(curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
常见问题
我如何进行身份验证?
在每个请求中包含头部 Authorization: Bearer YOUR_API_KEY。
是否有免费计划?
没有免费计划。对于您在 Zyla 的第一个 API,您通常会获得 7 天的试用或 50 次请求。请查看 API 页面以获取当前访问选项和定价。
哪些参数是必需的?
对于上述文档端点,请按所示传递 screenname(例如,screenname=elonmusk)。请勿添加额外参数。
响应形状是什么?
使用本文中的文档示例作为参考。仅依赖 API 显示的字段:关于个人资料(status、profile、rest_id、blue_verified、affiliates、business_account、verified_since、avatar、name、protected、about、id),关注(包含用户字段的 following 数组、status、more_users),以及用户回复(时间线条目,包含推文和作者字段,如果提供)。
我可以从 AI 编码代理调用 API 吗?
可以。使用 Zyla 的 MCP 端点,让您的代理调用相同的 Hub URL,并带上 Authorization 头。请参见上面的 MCP 链接。
今天就开始您的集成:创建您的账户,订阅 API,并在这里获取您的密钥:注册。在Zyla API Hub 和 Twitter 数据全合一列表中探索更多社交媒体 API 及其他内容:此页面。