開發者文件
方案與速率限制
Clarifindata 的速率限制是按 user(而非 key)計算的滑動小時視窗,以 Redis 60 秒 bucket 實作。
方案對照表
Free
600 / hr
NT$0
49 個 Free 資料集
demo / 試玩,不需信用卡
Lite
3,000 / hr
NT$149/月
80 個(Free + Lite)
個人回測
Plus
10,000 / hr
NT$299/月
88+ 個 + AI 加值
團隊 / 商用 / AI agent
Agent (x402)
無月費上限
$0.05–$0.20 / 次
Lite + Plus 資料集
USDC on Base mainnet,不用註冊
速率視窗語意
速率限制是以「滑動視窗」計算:API server 把每分鐘的計數存在 Redis 的 bucket,查詢時加總過去 60 個 bucket(也就是過去一小時)。這代表不需要等到「整點」才重置——視窗隨著時間前進。
每個回應都帶 X-RateLimit-Remaining header,讓你知道這個滑動視窗內還剩多少次。
bash
# Check headers on any response
curl -I -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.clarifindata.com/v1/key/info"
# Example response headers:
# X-RateLimit-Limit: 600
# X-RateLimit-Remaining: 597
# X-RateLimit-Window: 3600
# X-RateLimit-Tier: free429 Too Many Requests
超過速率上限時回應 HTTP 429,body 會包含 retry_after_seconds 和清楚的錯誤說明。Rate-limit header 同樣會出現在 429 回應中。
json
{
"detail": "rate limit exceeded (605/600 per hour for free tier)",
"retry_after_seconds": 42
}✓
建議在請求迴圈中讀取 X-RateLimit-Remaining,在剩餘 < 50 時主動降速,避免 429。遇到 429 時,用隨機 jitter 後退重試(exponential backoff + ±20% 隨機)。
python
import time, random, requests
def request_with_retry(url, headers, params, max_retries=5):
backoff = 1.0
for attempt in range(max_retries):
resp = requests.get(url, headers=headers, params=params)
if resp.status_code != 429:
return resp
retry_after = resp.json().get("retry_after_seconds", backoff)
jitter = retry_after * (0.8 + 0.4 * random.random())
time.sleep(jitter)
backoff *= 2
return resp