速率限制和併發數

同一帳戶的所有 API Key 共用每天 10 次 REST 資料呼叫額度,依 Asia/Shanghai 時區每天 00:00 重設。網站每天另有獨立的 10 次搜尋額度,MCP 不占用這兩項額度。

預設率和並發限制#

目前預設值為每個 IP 180 個請求/分鐘、每個金鑰 60 個請求、每個帳戶 90 個請求/分鐘。 IP 限制也適用於經過驗證的請求;一個帳戶上的金鑰共用帳戶速率限制。一個帳戶最多可以同時執行 5 個資料請求,每個金鑰也有其配置的 max_concurrent_requests 限制。正文限制為 256 KB,頁數限制為 50 項。

每日津貼與請求率#

每日限額限制一天內成功的 REST 資料呼叫;一分鐘內的速率限制上限請求;並發上限仍在運行的請求。驗證不使用每日數據通話,但仍受到速率限制。降低限製或建立另一個金鑰不會繞過帳戶每日限額。串行請求會減少並發性,但不會增加每日限額。

讀取限制訊息#

達到 10 次 REST 資料呼叫後回傳 HTTP 429 和 API_DAILY_LIMIT_REACHED。請等到 Asia/Shanghai 時區次日 00:00;建立或輪換 Key 不會重設帳戶額度。

遇到 RATE_LIMITED 時遵循 Retry-After 並退避重試。有效 Key、權限範圍、速率、並行和帳戶狀態限制繼續生效。

使用 error.code 選擇恢復路徑,而不是單獨使用 HTTP 429。 RateLimit-Limit、RateLimit-Remaining 和 RateLimit-Reset 描述短速率視窗。 Reset 是以秒為單位的 Unix 時間戳,而不是每日重置時間。速率視窗耗盡可在幾秒鐘內提供 Retry-After;並發或每日限額 429 回應可能會省略它。閱讀 daily_usage 了解每日使用情況,閱讀 error.details.daily_usage 以了解每日限制錯誤。

安全重試#

每次成功的 REST 資料請求計 1 次,包括空結果和伺服器快取命中。相同 Idempotency-Key 與相同參數重試會重用原結果,不重複占用每日次數。失敗請求和 304 回應不消耗每日額度。

遇到 RATE_LIMITED 時遵循 Retry-After 並退避重試。有效 Key、權限範圍、速率、並行和帳戶狀態限制繼續生效。

對於 RATE_LIMITED,首先等待 Retry-After。如果不存在,則減少並發並使用具有較小隨機延遲和重試上限的指數退避;例如,等待 1、2、4 秒,然後停止並記錄請求 ID。不要每秒重試 API_DAILY_LIMIT_REACHED:等待每日重置。在重試 401、403 或無效請求之前,請先修正驗證、權限或參數。

重試相同的 REST 資料操作時,請保持 Idempotency-Key 和參數不變。為新的邏輯運算產生新的密鑰;在重複使用密鑰時更改參數會導致 IDEMPOTENCY_CONFLICT。將不同的頁面視為不同的操作。可重試的 5xx 響應也需要有界退避。

使用範例#

如果帳戶上的兩個金鑰各完成 5 次資料調用,則共享的 10 次 REST 每日調用限額將耗盡,即使最後一分鐘沒有發出請求也是如此。該網站有單獨的 10 次搜尋限額。 MCP 既不使用每日限額,但太多同時發生的 MCP 請求仍然會觸發 RATE_LIMITED。