REST API 概要ドキュメンテーションでは、レート制限のルールについて説明しています。 以下で説明する Rate Limit API を使用して、現在のレート制限ステータスをいつでも確認できます。
レート制限のステータスを理解する
Search APIはカスタムのレート制限を持ち、他のREST APIを管理するレート制限とは分離されています。 GraphQL APIもカスタムのレート制限を持ち、REST APIのレート制限とは分離されて別に計算されます。
そのため、Rate Limit APIのレスポンスは、レート制限を分類します。 resources
の下には、4 つのオブジェクトがあります。
-
core
オブジェクトは、REST API中の検索に関連しないすべてのリソースに関するレート制限のステータスを提供します。 -
search
オブジェクトは、Search APIに対するレート制限のステータスを提供します。 -
graphql
オブジェクトは、GraphQL APIに対するレート制限のステータスを提供します。 -
integration_manifest
オブジェクトは、GitHub App Manifest コード変換エンドポイントに対するレート制限のステータスを提供します。
レート制限レスポンス中のヘッダと値に関する詳しい情報については「レート制限」を参照してください。
Get rate limit status for the authenticated user
Note: Accessing this endpoint does not count against your REST API rate limit.
Note: The rate
object is deprecated. If you're writing new API client code or updating existing code, you should use the core
object instead of the rate
object. The core
object contains the same information that is present in the rate
object.
get /rate_limit
コードサンプル
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/rate_limit
JavaScript (@octokit/core.js)
await octokit.request('GET /rate_limit')
Default response
Status: 200 OK
{
"resources": {
"core": {
"limit": 5000,
"remaining": 4999,
"reset": 1372700873
},
"search": {
"limit": 30,
"remaining": 18,
"reset": 1372697452
},
"graphql": {
"limit": 5000,
"remaining": 4993,
"reset": 1372700389
},
"integration_manifest": {
"limit": 5000,
"remaining": 4999,
"reset": 1551806725
},
"code_scanning_upload": {
"limit": 500,
"remaining": 499,
"reset": 1551806725
}
},
"rate": {
"limit": 5000,
"remaining": 4999,
"reset": 1372700873
}
}
Not modified
Status: 304 Not Modified
Resource not found
Status: 404 Not Found