Giới hạn Tốc độ
AstroAPI áp dụng giới hạn tốc độ để đảm bảo sử dụng công bằng và ổn định nền tảng.
Giới hạn Mặc định
Giới hạn tốc độ được xác định bởi gói đăng ký của bạn:
| Đăng ký | Yêu cầu/phút | Yêu cầu/tháng |
|---|---|---|
| Basic | 60 | 150.000 |
| Gold | 120 | 300.000 |
| Premium | 300 | 750.000 |
| Deluxe | 600 | 1.000.000 |
Giới hạn tốc độ cụ thể của bạn phụ thuộc vào đăng ký đang hoạt động. Kiểm tra dashboard để xem giới hạn hiện tại của bạn.
Header Giới hạn Tốc độ
Tất cả các phản hồi bao gồm thông tin giới hạn tốc độ:
http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 55
X-RateLimit-Reset: 1699999999Xử lý Giới hạn Tốc độ
Khi bạn vượt quá giới hạn tốc độ, API trả về phản hồi 429 Too Many Requests:
json
{
"errors": [{
"status": "429",
"title": "Too Many Requests",
"detail": "Rate limit exceeded. Please retry after 60 seconds."
}]
}Chiến lược Thử lại
Triển khai backoff theo cấp số nhân khi nhận được phản hồi 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');
}Giới hạn Riêng cho Từng Endpoint
Một số endpoint có các giới hạn bổ sung:
| Endpoint | Giới hạn Bổ sung |
|---|---|
/api/chart/* | 100 lần hiển thị/giờ |
/api/calc/batch | 10 yêu cầu batch/phút |
Tăng Giới hạn
Liên hệ hỗ trợ để thảo luận về giới hạn tốc độ tùy chỉnh cho ứng dụng của bạn.