REST API v1 · למפתחים

מגבלות קצב

המגבלות חלות על כל מפתח API בנפרד, בחלון קבוע של דקה, והגודל שלהן נקבע לפי התוכנית של השרת. כל תשובה מאומתת מספרת לכם איפה אתם עומדים, כך שלקוח מסודר אף פעם לא צריך לנחש.

תיעוד למפתחים
בעמוד הזה

מגבלות לפי תוכנית

בקשות לדקה לכל מפתח API
תוכניתבקשות לדקהמפתחות פעילים
Free602
Pro ו-Network60010
White Label60040

לכל מפתח יש חלון משלו, כך ששני מפתחות של אותו שרת לא חולקים תקציב. התוכניות מפורטות בדף המחירים.

כותרות מגבלת הקצב

כל תשובה מאומתת כוללת את מצב החלון הנוכחי:

כותרות התשובה
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1791374460
  • X-RateLimit-Limit — כמה בקשות לדקה מותרות למפתח הזה.
  • X-RateLimit-Remaining — כמה בקשות נשארו בחלון הנוכחי.
  • X-RateLimit-Reset — זמן Unix (בשניות) שבו החלון מתאפס.

מעבר למגבלה

מעבר למגבלה תקבלו 429 RATE_LIMITED עם כותרת Retry-After ושדה מספרי retryAfter בגוף התשובה (שניהם בשניות). המתינו את הזמן הזה ונסו שוב.

תשובה · 429
HTTP/1.1 429 Too Many Requests
Retry-After: 18

{ "error": "RATE_LIMITED", "message": "Rate limit of 60 requests per minute exceeded", "retryAfter": 18 }
Node.js
// 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.

מוכנים לשדרג את השרת?

מוסיפים את BotGG בחינם ומפעילים יכולות בקונסולת הווב.