דלג לתוכן הראשי

מגבלות קצב ושגיאות

זמין בתוכניותProResearch

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

מגבלות​

שתי מגבלות חלות על כל קריאה שמשתמשת במפתח:

  • לכל מפתח, לשעה. לכל מפתח יש מגבלה שעתית משלו, עם תקרה של המקסימום של התוכנית שלכם.
  • לכל חשבון, ליום. כל קריאות ה-REST שלכם חולקות תקציב יומי אחד. היום הוא לפי UTC ומתאפס ב-00:00 UTC.

המספרים לכל תוכנית נמצאים בטבלה במפתחות, הרשאות ומגבלות. לכמה נתיבים יש מגבלה נוספת קצרה לדקה: שאילת שאלה (POST /ask) והתחלה או סיום של העלאה מאפשרים מספר מוגבל של קריאות בדקה.

כותרות​

כל תשובה לקריאה שעברה את הבדיקה השעתית נושאת:

  • X-RateLimit-Limit: המגבלה התקפה למפתח הזה.
  • X-RateLimit-Remaining: הקריאות שנותרו בשעה הנוכחית.

כשחרגתם ממגבלה התשובה היא 429 עם Retry-After, מספר השניות להמתנה.

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 0
Retry-After: 1260

ניסיון חוזר בנימוס​

המתינו Retry-After שניות ונסו שוב. אל תנסו שוב מיד בלולאה. סקריפט שמבצע הרבה קריאות צריך לעצור כשהגיע למגבלה היומית ולהמשיך למחרת. הדוגמה בדוגמאות מראה פונקציית בקשה שעושה זאת.

GET /rest/v2/usage אומר לכם כמה מהיום ניצלתם.

מבנה השגיאה​

כל סירוב משתמש במבנה JSON אחד. success הוא false, ו-error מכיל את הפרטים.

{
"success": false,
"error": {
"statusCode": 403,
"message": "This API key lacks the scope read:library.",
"code": "SCOPE_REQUIRED",
"details": { "scopes": ["read:library"] },
"timestamp": "2026-11-04T09:00:00.000Z",
"path": "/rest/v2/search",
"method": "GET"
}
}

code הוא החלק שמיועד למכונה. הוא יכול להיעדר בתשובות אימות פשוטות או "לא נמצא", שבהן statusCode ו-message נושאים את המשמעות. message יכול להיות רשימת מחרוזות כשכמה שדות שגויים.

קודי סטטוס ושגיאה​

סטטוסקודמשמעות
400-הבקשה פגומה. פרמטר שאילתה או שדה בגוף שהנתיב לא מכיר הוא גם 400.
400SCOPE_NOT_ALLOWEDביקשתם בעת יצירת מפתח הרשאה שהתוכנית שלכם אינה כוללת.
401API_KEY_INVALIDהמפתח חסר, לא מוכר, בוטל, פג תוקפו או נחסם. התשובה נושאת WWW-Authenticate: Bearer realm="readsira".
401API_KEY_IN_QUERYהמפתח נשלח בכתובת. שלחו אותו בכותרת.
402PLAN_REQUIREDלתוכנית אין REST API (Free), או אין העלאות. מפתחות MCP עדיין עובדים ב-/mcp.
402PLAN_LIMIT_REACHEDהגעתם למגבלת ספירה, למשל תשובות בחודש.
402AI_QUOTA_EXCEEDEDתקציב ה-AI של החודש נוצל (POST /ask).
402PROJECT_LIMIT_REACHEDפרויקט הגיע למגבלת הפריטים של התוכנית שלכם.
403SCOPE_REQUIREDלמפתח חסרה ההרשאה שהנתיב צריך. error.details.scopes נותן לה שם.
404-לא נמצא, או לא שלכם. ה-API לא אומר איזה מהשניים.
409PROJECT_ARCHIVEDניסיתם לכתוב לפרויקט בארכיון.
429RATE_LIMITEDהמגבלה השעתית או היומית. ב-error.details יש window (hour או day), limit ו-retryAfterSeconds.
503AI_PAUSEDה-AI מושהה להיום (POST /ask בלבד). החיפוש ממשיך לעבוד.

429 בלי קוד מגיע מהמגבלה הקצרה לדקה בנתיב. המתינו ונסו שוב באותה דרך.

מגבלות על הקלט​

ה-API בודק כל קלט ודוחה את כל הבקשה עם 400 כשאחד מהם מחוץ לטווח.

נתיבקלטמותר
GET /searchq1 עד 500 תווים
GET /searchlimit1 עד 20, ברירת מחדל 8
POST /askquestion1 עד 2000 תווים
POST /askbookmarkIds1 עד 50 מזהים
GET /documents/:idoffset0 תווים או יותר
GET /documents/:idmaxChars1 עד 20,000, ברירת מחדל 12,000
GET /documents/:id/chunkslimit1 עד 100, ברירת מחדל 20
GET /documents/:id/transcriptlimit1 עד 500
GET /projectslimit1 עד 50, ברירת מחדל 20
GET /projects/:id/contextq1 עד 500 תווים
GET /projects/:id/contextmaxChars1 עד 32,000, ברירת מחדל 16,000

לכל נתיב יש רשימה מלאה עם סוגים במדריך העזר ל-REST API v2.