Skip to content

速率限制

AstroAPI 强制执行速率限制以确保公平使用和平台稳定性。

默认限制

速率限制由您的订阅计划决定:

订阅每分钟请求数每月请求数
Basic60150,000
Gold120300,000
Premium300750,000
Deluxe6001,000,000

您的具体速率限制取决于您的有效订阅。在控制台中查看您的当前限制。

速率限制响应头

所有响应均包含速率限制信息:

http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 55
X-RateLimit-Reset: 1699999999

处理速率限制

当您超出速率限制时,API 返回 429 Too Many Requests 响应:

json
{
  "errors": [{
    "status": "429",
    "title": "Too Many Requests",
    "detail": "Rate limit exceeded. Please retry after 60 seconds."
  }]
}

重试策略

在收到 429 响应时实施指数退避:

typescript
async function fetchWithRetry(url: string, options: RequestInit, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);

    if (response.status !== 429) {
      return response;
    }

    const retryAfter = response.headers.get('Retry-After') || '60';
    await new Promise(resolve =>
      setTimeout(resolve, parseInt(retryAfter) * 1000)
    );
  }

  throw new Error('Max retries exceeded');
}

端点特定限制

某些端点有额外的限制:

端点额外限制
/api/chart/*每小时 100 次渲染
/api/calc/batch每分钟 10 次批量请求

提高限制

联系支持团队讨论为您的应用程序自定义速率限制。

AstroAPI Documentation