速率限制
NuGet.org API 會強制執行速率限制以防止濫用。 超過速率限制的要求會傳回下列錯誤:
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in 56 seconds."
}
除了使用速率限制要求節流之外,某些 API 也會強制執行配額。 超過配額的要求會傳回下列錯誤:
{
"statusCode": 403,
"message": "Quota exceeded."
}
下表列出 NuGet.org API 的速率限制。
注意
我們建議使用 NuGet.org 的 V3 搜尋 API ,因為它目前沒有速率限制。 針對 V1 和 V2 搜尋 API,適用下列限制:
API | 限制類型 | 限制值 | API 使用案例 |
---|---|---|---|
獲取 /api/v1/Packages |
IP | 1000 / 分鐘 | 透過 v1 OData Packages 集合查詢 NuGet 套件元數據 |
獲取 /api/v1/Search() |
IP | 3000 / 分鐘 | 透過 v1 搜尋端點搜尋 NuGet 套件 |
獲取 /api/v2/Packages |
IP | 20000 / 分鐘 | 透過 v2 OData Packages 集合查詢 NuGet 套件元數據 |
獲取 /api/v2/Packages/$count |
IP | 100 / 分鐘 | 透過 v2 OData Packages 集合查詢 NuGet 套件計數 |
API | 限制類型 | 限制值 | API 使用案例 |
---|---|---|---|
放 /api/v2/package |
API 金鑰 | 350 / 小時 | 透過 v2 推送端點上傳新的 NuGet 套件(版本) |
刪除 /api/v2/package/{id}/{version} |
API 金鑰 | 250 / 小時 | 透過 v2 端點取消列出 NuGet 套件 (版本) |
如果您要以程式設計方式存取 nuget.org 網頁,請考慮調查我們記載的 V3 API。 這些端點可讓您更輕鬆存取套件元數據和內容。 V3 API 具有較佳的可用性,且效能高於存取 NuGet 資源庫網頁,其專為網頁瀏覽器互動所設計。
API | 限制類型 | 限制值 | API 使用案例 |
---|---|---|---|
獲取 /package/{id}/{version} |
IP | 50 / 分鐘 | 顯示套件 (版本) 詳細數據頁面。 |