我们自己的访问统计默认开启。Google Analytics 只在你同意后启用,用来了解公开页面是否有用,不统计登录后的工作台。详见 隐私政策。

POST

接口健康状态

24h 健康值
正常
24h 平均耗时
—
  • 健康 / 正常
  • 可用
  • 少量可用
  • 基本不可用
正常

是否转推:返回单个对象;主要字段 username、post_id、is_retweeted、platform。

是否转推按 username 和 id 判断一个账号有没有转推过某条帖子,返回单个对象:post_id 是被查的帖子,is_retweeted 是结果。它回答「这个账号转了这条没有」,适合核对合作方有没有按约定转发,或者统计一批账号里有多少转了同一条帖子。

查一批账号时,帖子保持不变,每个账号调一次。X 官方有按帖子 ID 列出转推者的接口,说明转推关系可以按帖子来定位;这一页只回答一个账号的是与否,不列名单。username 填要查的账号,可以带 @。

单价 $0.81 / 千次(每次 $0.000806),失败与空结果不扣费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。

AI 提示词

请帮我用 EveryInfra 的「X (Twitter) 是否转推」接口(twitter/check_retweet)写一个数据采集脚本。

接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 twitter,action 填 check_retweet,参数放在 params 里。
- 必填参数:
  - username:要查的账号,X 用户短名,可带 @。
  - id:数字帖子 ID,也可填帖子链接;查 username 有没有转推这条帖子。
- 可选参数:
  - url:兼容写法,可以不传:帖子链接直接填进必填的 id 即可;id 和 url 都填时以 id 为准。
- 返回一个对象,主要字段:username、post_id、is_retweeted(username 是否转推过这条帖…)。
- 示例请求体:
{
  "platform": "twitter",
  "action": "check_retweet",
  "params": {
    "username": "nasa",
    "id": "2103610284464316469"
  }
}
- 计费:$0.81 / 千次;失败和空结果不扣费。
- 一次要采几十上百个时,在请求体加 "mode": "async":先拿到 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id} 取结果。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。

写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。

请求参数

参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是twitter平台标识,固定值。
actionbodystring是check_retweet能力标识,固定值。
usernamebody.paramsstring是-要查的账号,X 用户短名,可带 @。
idbody.paramsstring是-数字帖子 ID,也可填帖子链接;查 username 有没有转推这条帖子。
urlbody.paramsstring否-兼容写法,可以不传:帖子链接直接填进必填的 id 即可;id 和 url 都填时以 id 为准。

代码示例

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "twitter",
  "action": "check_retweet",
  "params": {
    "username": "nasa",
    "id": "2103610284464316469"
  }
}'

OpenAPI 定义 (JSON)示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。

响应示例

字段预览

这组示例参数还没有真实样例:这里只按接口定义列出响应结构和字段,值用 … 占位,不是一次真实调用的结果。

json
{
  "id": "req_…",
  "platform": "twitter",
  "action": "check_retweet",
  "results": {
    "username": …,
    "post_id": …,
    "is_retweeted": …,
    "platform": …
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

返回字段

业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被补造。

字段含义
username用户名(@handle)。
post_id保留平台原语义
is_retweetedusername 是否转推过这条帖子(check_retweet)。
platform数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。

常见问题

帖子链接可以直接填进 id 吗?

可以。id 接受数字帖子 ID,也接受帖子链接,所以兼容参数 url 不用传;真的两个都填了,以 id 为准。填链接时,放的是帖子链接,不是账号主页。返回里的 post_id 标明查的是哪条帖子,批量核对时可以用它对应到你的任务表。

想知道一条帖子被哪些账号转了,用这一页吗?

不用。这一页要先指定账号,只回答这个账号转没转。想拿到转推者名单,用转推用户那一页:同样按帖子 ID 查,每页约 100 个账号,还带粉丝数和发帖数。手里已经有一份要核对的账号名单时,才适合逐个用这一页查。

这一页和是否关注那一页怎么配合?

两页都从 username 出发,各返回一个对象。做互动任务的核验时,先用是否关注查关注关系,再用这一页查转推:前者要被关注方的用户名,这一页要帖子 id,返回的布尔值也不同。

错误与计费

401
缺少 Key 或 Key 无效。
402
余额不足,先充值。
422
参数名或取值不对,按错误信息给的候选改;不扣费。
429
超过每分钟请求上限,按 Retry-After 等待后再试。
503
暂时无法完成,预扣的费用退回;结果未知时先核对,不要直接重发。
200 空结果
没有数据,不扣费。

错误码

官方资料参照

只用于核对对象与术语,不表示平台对 EveryInfra 的授权或背书。

  • X API:转推了一条帖子的用户(Get Reposted By) ↗

    X 官方 API 文档的 Get Reposted By 按帖子 ID 列出转推了它的用户,每页 max_results 最多 100、用 pagination_token 翻页。可证明「转推者」是按帖子 ID 定位的用户列表;不证明本接口和官方接口覆盖一致,也不证明 check_retweet 的判断规则。

    核对于 2026-11-01