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-AfterX-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"])

在 GitHub 上查看

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);

在 GitHub 上查看

开发者资源

这些资源目前仅提供英文版。

主要功能

  • 公开数据访问:用户资料、推文/帖子、粉丝和互动指标
  • 互动功能:发布推文,以及管理点赞、转推、书签和私信
  • 搜索:使用文档中列出的查询参数搜索推文、用户和媒体
  • 按请求获取最新数据(页面仅提供英文版):应用发送请求时,获取当前帖子、资料和指标(英文文档)
  • 分页:集合类端点支持基于游标的分页
  • 媒体支持:完整支持图片、视频和 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

400BAD_REQUESTBad Request - Invalid parameters
401UNAUTHORIZEDUnauthorized - Invalid API key
404NOT_FOUNDNot Found - Resource doesn't exist
429RATE_LIMITToo Many Requests

500s Errors

500INTERNAL_ERRORInternal Server Error

错误响应格式

所有错误都采用一致的格式:

{
  "statusCode": 400,
  "message": "Invalid username parameter"
}

最佳实践

  1. 始终检查响应状态码
  2. 记录错误响应以便调试
  3. 为重试实现指数退避
  4. 妥善处理速率限制

安全最佳实践

  • 切勿公开分享 API 密钥或将其提交到版本控制系统。
  • 定期轮换密钥以增强安全性。
  • 在应用中使用环境变量存储 API 密钥。
  • 通过控制台监控用量,以检测异常活动。

支持

如需帮助或有任何问题: