TweetAPI 文档
通过面向开发者的 REST API,获取全面的公开 Twitter/X 数据。
基础 URL
所有 API 请求都应发送到:
https://api.tweetapi.com/tw-v2/
身份验证
在 X-API-Key 请求头中包含你的 API 密钥:
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
调用 API 前须知
- 响应采用 JSON 格式。
- 套餐限制按 API 密钥执行,包括请求额度和每分钟请求上限。
- 集合类端点在支持时使用基于游标的分页。
- 发布、互动、资料、私信和 X Chat 端点除了 TweetAPI 密钥外,还可能需要账号授权字段。请查看各端点页面,确认准确的必填参数。
429响应可能表示套餐请求额度已用完,也可能表示超过每分钟上限。重试前请检查错误消息。TweetAPI 的tw-v2端点目前不返回Retry-After或X-RateLimit-*响应头。
TweetAPI SDK
TweetAPI 为 Python 和 Node.js 提供持续维护的 SDK,支持完整类型、自动重试和内置分页。
Python
pip install tweetapi
from tweetapi import TweetAPI
client = TweetAPI(api_key="YOUR_API_KEY")
user = client.user.get_by_username(username="elonmusk")
print(user["data"]["followerCount"])
Node.js / TypeScript
npm install tweetapi-node
import TweetAPI from "tweetapi-node";
const client = new TweetAPI({ apiKey: "YOUR_API_KEY" });
const user = await client.user.getByUsername({ username: "elonmusk" });
console.log(user.data.followerCount);
开发者资源
- 用于代码生成器、API 工具和契约感知集成的 OpenAPI 规范(页面仅提供英文版)
- 包含全部 79 个已记录操作的完整 Postman 集合(页面仅提供英文版)
- 使用公开资料、搜索和推文详情请求安全入门的只读 Postman 快速开始集合(页面仅提供英文版)
这些资源目前仅提供英文版。
主要功能
- 公开数据访问:用户资料、推文/帖子、粉丝和互动指标
- 互动功能:发布推文,以及管理点赞、转推、书签和私信
- 搜索:使用文档中列出的查询参数搜索推文、用户和媒体
- 按请求获取最新数据(页面仅提供英文版):应用发送请求时,获取当前帖子、资料和指标(英文文档)
- 分页:集合类端点支持基于游标的分页
- 媒体支持:完整支持图片、视频和 GIF
可用端点
用户端点
- 按用户名获取用户
- 按 ID 获取用户
- 按多个 ID 批量获取用户
- 粉丝和关注列表
- 用户推文和回复
- 订阅信息
推文端点
- 推文详情和对话线程
- 引用推文和转推
- 推文翻译
- 互动指标
互动端点
- 创建、回复和删除帖子
- 点赞和收藏推文
- 转推和引用推文
- 列表管理
列表与社区端点
- 列表详情和成员
- 社区信息
- 时间线推文
搜索端点
- 搜索推文、用户和媒体
- 高级搜索运算符
- 筛选和排序选项
套餐限制
当前公开套餐的每分钟请求上限如下:
- Free:每分钟 10 个请求
- Pro:每分钟 60 个请求
- Ultra:每分钟 120 个请求
- Mega:每分钟 180 个请求
私有、旧版或定制套餐的限制可能不同。如果因每分钟上限收到 429,应使用次数受限的指数退避并降低并发数。用完套餐请求额度后,短时间重试无法解决问题;请在控制台查看当前用量和订阅选项。
按量付费(PAYG)备用余额
客户可以在 Billing 中手动购买一次性 PAYG 充值:10,000 单位为 $5 USD,20,000 单位为 $10 USD,40,000 单位为 $20 USD,100,000 单位为 $50 USD。充值不会自动续费。TweetAPI 会先使用可用的免费套餐或订阅额度,然后自动使用有效的 PAYG 余额。取消订阅后,有效的 PAYG 单位仍可使用。仅使用 PAYG 时,每分钟最多 60 个请求;如果有效套餐的速率上限更高,则继续采用更高的上限。
PAYG 单位在付款成功结算后 365 天到期。充值到账后,整个尚未到期的钱包将采用现有到期日与结算后 365 天两者中较晚的日期。已经到期的单位不会恢复。如果充值到账时钱包已到期,仅在原到期日前完成付款并不能保证延期。如果你在到期前付款但到账延迟,请联系 support@tweetapi.com,要求审核并更正确认的处理错误,或提供其他适当补救。Billing 页面和付款确认会以 UTC 显示最终到期时间。
单位衡量的是 API 使用量,而不是返回的推文数量。大多数计量调用消耗 1 个单位;/tw-v2/xchat/send 消耗 10 个单位,/tw-v2/auth/login 消耗 50 个单位。HTTP 200–499 的计量响应会计费,但 400、401、403 和 429 除外。可计费的空结果、分页请求,以及每次单独提交的重试或重复请求都会消耗单位。
退款会按比例撤销单位,并向上取整到完整单位。付款争议会撤销相关购买的全部单位,但会扣除已因退款撤销的单位。余额赤字会锁定 PAYG,但不会锁定仍然有效的订阅。充值会先偿还赤字,再增加可用单位。如有错误扣费、单位未到账或付款争议,请联系 support@tweetapi.com;申请补救不以购买更多单位为前提。请查看条款与退款信息(页面仅提供英文版)(英文)。法律规定的强制性权利不受限制。
错误处理
TweetAPI 使用标准 HTTP 状态码表示成功或失败。
常见错误代码
400s Errors
BAD_REQUESTBad Request - Invalid parametersUNAUTHORIZEDUnauthorized - Invalid API keyNOT_FOUNDNot Found - Resource doesn't existRATE_LIMITToo Many Requests500s Errors
INTERNAL_ERRORInternal Server Error错误响应格式
所有错误都采用一致的格式:
{
"statusCode": 400,
"message": "Invalid username parameter"
}
最佳实践
- 始终检查响应状态码
- 记录错误响应以便调试
- 为重试实现指数退避
- 妥善处理速率限制
安全最佳实践
- 切勿公开分享 API 密钥或将其提交到版本控制系统。
- 定期轮换密钥以增强安全性。
- 在应用中使用环境变量存储 API 密钥。
- 通过控制台监控用量,以检测异常活动。
支持
如需帮助或有任何问题:
- 发送邮件至 support@tweetapi.com
- 在 Telegram 上联系 @tweetapi 支持团队