API 频率限制规范

为保障服务稳定性,系统不仅在全局维度,同时也对各项具体接口实施精确的频率限制。当请求超出限额时,将返回 429 Too Many Requests。

全局单 IP 防护机制

除下方列出的具体类别接口额度外,防火墙底层同时会执行 300 次 / 分钟 的严格单 IP 基础限流。若您通过同一服务器并发执行多账号、大规模的数据拉取,请务必关注该硬性上限并合理调度。

分类速率总览

财务接口
10 ~ 30
次 / 分钟
查询接口
200
次 / 分钟 (单账号)
提交接口
30
次 / 分钟

财务接口 充值 10 次 / 账单 30 次 / 分钟

接口路径限额
授权码充值POST /api/billing/redeem10 次 / 分钟
资金流水明细GET /api/billing/logs30 次 / 分钟
域名计费报表GET /api/billing/domain-stats30 次 / 分钟

查询接口 用户 200 次 / IP 300 次 / 分钟

接口路径
账户与余额 / 统计概览 / 图表GET /api/auth/me、/api/stats、/api/v1/traffic/chart
查询关键词列表 / 域名列表 / site 收录 / 推荐词GET /api/domains、/api/kl_keywords*、/api/site-monitor/*、/api/v1/traffic/keyword_suggestions
排名 / 干预记录 / 截图(独立配额桶)GET /api/rankboost/*

提交接口 30 次 / 分钟

接口路径
添加关键词 / 启停(含批量) / 更改频率(含批量) / 域名限额与AI托管
POSTPATCH/api/keywords*、/api/v1/traffic/domains/*、/api/v1/traffic/keyword_suggestions
删除关键词(含批量) / 删除域名(含批量)
DELETEPOST/api/keywords/{id}、/api/keywords/batch/delete、/api/domains/{domain}、/api/domains/batch/delete

触发限流后的处理

当请求被限流拒绝时,响应 JSON 中会包含 retry_after 字段(单位:秒),表示建议等待的时间。

响应数据结构
retry_afterInteger
建议等待的秒数。收到 429 后,请至少等待该秒数后再重试。如果继续高频重试会消耗限流配额,导致后续正常请求也被拒绝。
建议在自动化脚本中加入指数退避机制或至少固定的请求间隔。
限流拒绝响应 (HTTP 429)
{
  "success": false,
  "msg": "请求过于频繁,请稍后再试",
  "retry_after": 45
}
处理限流的代码示例 (JavaScript)
// 推荐的重试策略
async function apiRequest(url, options) {
  const res = await fetch(url, options);

  if (res.status === 429) {
    const data = await res.json();
    const wait = (data.retry_after || 60) * 1000;
    // 等待 retry_after 秒后重试
    await new Promise(r => setTimeout(r, wait));
    return apiRequest(url, options);
  }

  return res.json();
}