文档
监控账号
监控账号决定实时 feed 和 History API 能返回什么。你可以在 dashboard 添加,也可以从自己的后端操作。
添加和移除账号
`accounts` 字段接受一个字符串或字符串数组。Handle 会被规范化,所以调用方可以发送 `marketdesk` 或 `@marketdesk`。
添加账号typescript
const response = await fetch("https://api.tweetstream.io/api/add-account", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TWEETSTREAM_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
accounts: ["marketdesk", "realDonaldTrump"],
}),
});
console.log(await response.json());
移除账号typescript
const response = await fetch("https://api.tweetstream.io/api/remove-account", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.TWEETSTREAM_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
accounts: "marketdesk",
}),
});
console.log(await response.json());
结果json
{
"action": "follow",
"requestId": "8b4f9c9c-9e7b-4a0c-9c7d-2d4d6f0a9a25",
"error": null,
"results": [
{
"input": "marketdesk",
"handle": "marketdesk",
"normalizedHandle": "marketdesk",
"state": "added"
},
{
"input": "realDonaldTrump",
"handle": "realDonaldTrump",
"normalizedHandle": "realDonaldTrump",
"state": "added"
}
]
}
读取当前用量
`/api/me` 返回你的套餐、监控账号用量、活跃 WebSocket 用量和订阅状态。该端点是私有且 no-store 的。
| 字段 | 类型 | 说明 |
|---|---|---|
| plan | BASIC、ELITE 或 ENTERPRISE | 运行时套餐枚举 |
| trackedAccounts | object | 数量、限制和规范化 handles |
| websocket | object | 当前活跃连接数和套餐限制 |
| stripe | object | 订阅状态和账期字段;标识符应视为私有 |
请求typescript
const response = await fetch("https://api.tweetstream.io/api/me", {
headers: {
Authorization: `Bearer ${process.env.TWEETSTREAM_API_KEY}`,
},
});
console.log(await response.json());
响应json
{
"plan": "ELITE",
"trackedAccounts": {
"count": 2,
"limit": 250,
"handles": ["marketdesk", "realDonaldTrump"]
},
"websocket": {
"count": 1,
"limit": 10
},
"stripe": {
"subscriptionStatus": "ACTIVE",
"customerId": "[redacted]",
"hasCustomer": true,
"subscriptionId": "[redacted]",
"currentPeriodStart": "2026-06-30T00:00:00.000Z",
"currentPeriodEnd": "2026-07-30T00:00:00.000Z",
"canceledAt": null
}
}
Handle 结果状态
| 状态 | 出现时机 | 推荐处理 |
|---|---|---|
| added | Handle 已加入监控列表 | 视为成功 |
| already_following | Handle 已经在监控中 | 作为逐行幂等结果处理 |
| removed | Handle 已移除 | 视为成功 |
| not_following | Handle 原本没有被监控 | 作为逐行幂等结果处理 |
| invalid_input, duplicate, not_found, failed | 输入或同步问题 | 展示逐行 message,仅在合适时重试 |
REST 状态码
Add 和 remove 端点返回逐行结果。HTTP 状态反映批处理整体结果,每一行 result 表示对应 handle 发生了什么。
| 状态 | 出现时机 | 说明 |
|---|---|---|
| 200 | 每一行都直接完成 add 或 remove | 所有行都是明确成功 |
| 207 | 部分行完成,部分行失败或已处于请求状态 | 重试前读取 results 和 summary |
| 400 | 请求 body 无效或没有任何行改变状态 | 当整批都是 already_following 或 not_following 时也可能出现 |
套餐限制
- Minimum:试用后 50 个监控账号和 3 个 WebSocket 连接。
- Trial:3 天内 5 个监控账号和 1 个 WebSocket 连接。
- Pro:250 个监控账号和 10 个 WebSocket 连接。
- Scale:可在定价页自助配置更高的监控账号和 WebSocket 限制。
- 历史回放在 Pro 和 Scale 可用。