REST API v1 · למפתחים
מגבלות קצב
המגבלות חלות על כל מפתח API בנפרד, בחלון קבוע של דקה, והגודל שלהן נקבע לפי התוכנית של השרת. כל תשובה מאומתת מספרת לכם איפה אתם עומדים, כך שלקוח מסודר אף פעם לא צריך לנחש.
תיעוד למפתחים
בעמוד הזה
מגבלות לפי תוכנית
| תוכנית | בקשות לדקה | מפתחות פעילים |
|---|---|---|
| Free | 60 | 2 |
| Pro ו-Network | 600 | 10 |
| White Label | 600 | 40 |
לכל מפתח יש חלון משלו, כך ששני מפתחות של אותו שרת לא חולקים תקציב. התוכניות מפורטות בדף המחירים.
כותרות מגבלת הקצב
כל תשובה מאומתת כוללת את מצב החלון הנוכחי:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1791374460X-RateLimit-Limit— כמה בקשות לדקה מותרות למפתח הזה.X-RateLimit-Remaining— כמה בקשות נשארו בחלון הנוכחי.X-RateLimit-Reset— זמן Unix (בשניות) שבו החלון מתאפס.
מעבר למגבלה
מעבר למגבלה תקבלו 429 RATE_LIMITED עם כותרת Retry-After ושדה מספרי retryAfter בגוף התשובה (שניהם בשניות). המתינו את הזמן הזה ונסו שוב.
HTTP/1.1 429 Too Many Requests
Retry-After: 18
{ "error": "RATE_LIMITED", "message": "Rate limit of 60 requests per minute exceeded", "retryAfter": 18 }// Wait and retry on 429 / 503, using the server's Retry-After
async function call(url, init, tries = 3) {
for (let attempt = 1; ; attempt++) {
const res = await fetch(url, init);
if ((res.status !== 429 && res.status !== 503) || attempt >= tries) return res;
const seconds = Number(res.headers.get('Retry-After')) || attempt * 2;
await new Promise((resolve) => setTimeout(resolve, seconds * 1000));
}
}גם בקשות חוזרות עם מפתחות לא תקינים מאותה כתובת IP מוגבלות: אחרי מספר קטן של כשלונות בדקה הן מקבלות 429 במקום 401.