所有 key 共用一个账户级 60 秒滚动窗口。账户层级由终身保留的成功消费决定;IP 和 action 专用保护可能更早或独立拒绝请求。没有每小时或每 key 的层级配额。
每个 IP 地址每分钟 20,000 次请求在 key 验证之前应用,因此对 key 的暴力枚举是有界的。同一 IP 后的所有 key 共享此限制。默认值全局设定,用户不可配置。
每 60 秒滚动窗口 120–2,400 次请求同一账户的所有有效 API key 使用同一个计数器。除非存在直接 RPM 覆盖,否则由终身成功消费固定阶梯提供上限。
取决于 action部分敏感 action 还会应用更小的账户规则。例如 cancel 每个账户每分钟接受 30 个请求;其 429 会报告 action。
资格取决于账户终身保留的成功消费。完成和部分交付会增加保留的成功金额,后续退款会将其减少。有效上限直接按存储总额更新,无需每日任务。使用 action=account_status 查询已获得层级和有效 RPM。
| 层级 | 最低终身消费 | 请求 / 分钟 |
|---|---|---|
| 0 | $0.00000000 | 120 |
| 1 | $10.00000000 | 300 |
| 2 | $50.00000000 | 600 |
| 3 | $100.00000000 | 900 |
| 4 | $500.00000000 | 1,200 |
| 5 | $1000.00000000 | 1,800 |
| 6 | $2500.00000000 | 2,400 |
| 请求头 | 描述 |
|---|---|
| X-RateLimit-Limit | 正常响应表示账户共享的有效每分钟请求上限;429 响应表示拒绝层报告的上限。 |
| X-RateLimit-Remaining | 正常响应表示账户共享窗口中的剩余请求数;429 响应表示拒绝层报告的剩余值。 |
| X-RateLimit-Reset | 距离所报告窗口重置的相对秒数;不是 Unix 时间戳。 |
| X-RateLimit-Tier | 由终身成功消费获得的层级(0–6)。自定义 RPM 覆盖不会改变此值。 |
| X-RateLimit-Source | 有效 RPM 来自固定阶梯时为“tier”;来自管理员直接覆盖时为“custom”。 |
| X-RateLimit-DeniedBy | 当具名限制器拒绝调用时随 429 返回:“ip”、“api_requests_per_minute”或“action”。 |
| Retry-After | 对于可重试的 429 或 503,重试前至少等待 Retry-After 指定的秒数。对于 action=add,等待后继续使用相同的幂等键。 |
ip、api_requests_per_minute 和 action 表示拒绝层;更换 key 无法绕过共享账户、IP 或 action 限制。action=status 核对重要状态。