速率限制
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 用例 |
---|---|---|---|
GET /api/v1/Packages |
IP | 1,000 次/分钟 | 通过 v1 OData Packages 集合查询 NuGet 包元数据 |
GET /api/v1/Search() |
IP | 3,000 次/分钟 | 通过 v1 搜索终结点搜索 NuGet 包 |
GET /api/v2/Packages |
IP | 20,000 次/分钟 | 通过 v2 OData Packages 集合查询 NuGet 包元数据 |
GET /api/v2/Packages/$count |
IP | 100 次/分钟 | 通过 v2 OData Packages 集合查询 NuGet 包计数 |
API | 限制类型 | 限制值 | API 用例 |
---|---|---|---|
PUT /api/v2/package |
API 密钥 | 350/小时 | 通过 v2 推送终结点上传新的 NuGet 包(版本) |
DELETE /api/v2/package/{id}/{version} |
API 密钥 | 250/小时 | 通过 v2 终结点取消列出 NuGet 包(版本) |
如果要以编程方式访问 nuget.org 网页,请考虑研究我们已记录的 V3 API。 这些终结点允许对包元数据和内容进行更轻松的访问。 V3 API 的可用性更好且性能优于访问 NuGet 库网页,而这些网页专为 Web 浏览器交互而设计。
API | 限制类型 | 限制值 | API 用例 |
---|---|---|---|
GET /package/{id}/{version} |
IP | 50 次/分钟 | 显示包(版本)详细信息页面。 |