Skip to main content

REST API 的速率限制

了解 REST API 速率限制、如何避免超过速率限制,以及如果超过了该怎么办。

默认禁用 GitHub Enterprise Server 的速率限制。 请与站点管理员联系,以确认实例的速率限制。

如果你是网站管理员,则可以为实例设置速率限制,包括次要速率限制。 请参阅 配置速率限制

如果要为实例外部的用户或组织开发应用,则应用标准 GitHub 速率限制。 请参阅 GitHub Free 文档中的 REST API 的速率限制

二级速率限制简介

除了主要速率限制以外,GitHub 还强制执行次要速率限制以阻止滥用,让 API 可供所有用户所使用。

以下情况下可能会遇到次要速率限制:

  • 发出的并发请求过多。 并发请求数量不能超过 100 个。 REST API 和 GraphQL API 都应用此限制。
  • 每分钟向单个终结点发出的请求数过多。 REST API 终结点每分钟允许发出的请求数不超过 900 点,GraphQL API 终结点每分钟允许发出的请求数不过超 2,000 点。 有关点的详细信息,请参阅“计算次要速率限制的点数”。
  • 每分钟发出的请求数过多。 实时每 60 秒允许的 CPU 时间不超过 90 秒。 此 CPU 时间的 60 秒不能超过 GraphQL API。 可以通过衡量 API 请求的总响应时间来大致估算出 CPU 时间。
  • 发出过多的请求,它们在短时间内会消耗过多的计算资源。
  • 短时间内在 GitHub 上创建的内容过多。 一般情况下,每分钟不超过 80 个内容生成请求,允许每小时不超过 500 个内容生成请求。 某些终结点的内容创建限制较低。 内容创建限制包括对 GitHub Web 界面以及 REST API 和 GraphQL API 执行的操作。

上述次要速率限制可能随时更改,恕不另行通知。 可能还会因未公开的原因而遇到次要速率限制。

计算次要速率限制的点数

某些次要速率限制由请求的点值确定。 对于 GraphQL 请求,这些点值与主要速率限制的点值分开来进行计算。

请求
不具有突变的 GraphQL 请求1
具有突变的 GraphQL 请求5
大多数 REST API GETHEADOPTIONS 请求1
大多数 REST API POSTPATCHPUTDELETE 请求5

某些 REST API 终结点具有不公开共享的不同点成本。