速率限制

了解速率限制如何运作、基于套餐的数据访问,以及如何处理 429 响应。

速率限制因套餐而异。使用 GET /api/v1/limits 端点,以编程方式查看你当前的档位和限制。
每个密钥的速率限制
档位请求数 / 分钟突发 / 秒
Builder(含 3 天免费试用)25012
Pro75040
Enterprise定制定制

每分钟限制使用滑动窗口。突发限制使用令牌桶。

基于套餐的数据访问

在 Builder 套餐(包括完整等同于 Builder 的 3 天免费试用)中,只能访问最近的市场。Pro 和 Enterprise 档位可无限制访问所有市场和快照。

市场类型BuilderPro / Enterprise
5m4,100无限
15m1,400无限
1hr350无限
4hr85无限
24hr14无限

当列表查询超出你的档位上限时,响应的 limit 会被截断,并附带一个 warning 字段。

API 密钥上限

你可以持有的有效 API 密钥数量取决于你的套餐。已撤销或已过期的密钥不计入上限。

3
Builder(含 3 天免费试用)
10
Pro
无限
Enterprise
速率限制响应头

每个响应都包含速率限制响应头,方便你实时跟踪用量。

X-RateLimit-Limit: 250
X-RateLimit-Remaining: 237
X-RateLimit-Reset: 1740800060

处理 429 响应

当你超出速率限制时,API 会返回 429 状态码,并附带 Retry-After 响应头,指示需要等待多少秒。响应主体包含 error、message 和 retry_after 字段。

import time
import requests

def fetch_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            wait = int(response.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
            continue
        return response
    raise Exception("Rate limit exceeded after retries")
403 Forbidden:数据访问

如果你尝试访问超出你档位数据窗口的市场或其快照,API 会返回 403 Forbidden。请升级套餐,或访问更近期的市场。

{
  "error": "Forbidden",
  "message": "Your builder plan only includes the most recent markets for this type. Upgrade for full access.",
  "tier": "builder"
}