Lesstep
GitHub · REST API rate limits · Checked October 24, 2026

GitHub: "API rate limit exceeded"

GitHub counts your requests and stops answering them for a while once a limit is used up. Nothing is wrong with the token or its permissions; waiting is the fix. From GitHub's Rate limits for the REST API: over the primary limit, the answer is 403 or 429 and the x-ratelimit-remaining header is 0, and you should not try again before the time in x-ratelimit-reset. Over a secondary limit, the answer is also 403 or 429, and its message says so.

The whole answer

Without a token (from a public report; GitHub names the IP address it saw):

HTTP 403

API rate limit exceeded for [IP address]. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)

With a token, GitHub names the account instead: "API rate limit exceeded for user ID [number]." (as in this report). A secondary limit reads "You have exceeded a secondary rate limit. Please wait a few minutes before you try again." (as in this and this report).

The headers tell you where you stand. To read them without using up a request (GitHub does not count calls to /rate_limit against the primary limit):

curl -i -H "Authorization: Bearer your-token" https://api.github.com/rate_limit

Leave out the Authorization line to see the limit without a token. For GitHub Enterprise Server, call your server's API address instead of api.github.com.

Which limit

From GitHub's Rate limits for the REST API:

When to try again

GitHub's troubleshooting page gives the order:

  1. If the answer has a retry-after header, wait that many seconds.
  2. If x-ratelimit-remaining is 0, wait until the time in x-ratelimit-reset.
  3. Otherwise wait at least a minute. If a secondary limit keeps refusing, wait longer each time, and stop after a few tries.

Do not keep sending requests while refused: GitHub warns that this may get the integration banned.

So it does not happen again

In IntelliJ IDEA: GitHub's message, or "User authorization failed"

How the GitHub support built into IntelliJ IDEA takes a refused request, in its source (checked October 30, 2026; IntelliJ IDEA: GithubApiRequestExecutor.kt, GithubApiRequest.kt, GHAPIExceptionUtil.kt, GHSelectorErrorStatusPresenter.kt):

GitHub pull requests in IntelliJ IDEA

Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, tells a rate limit apart from a refused token: it says that GitHub's limit was reached and the time it opens again, from x-ratelimit-reset or retry-after. Without a token, it says that the 60 an hour are used up and offers its settings, where a token raises the limit to 5,000; reading stays free. Its list reloads every 5 minutes while it is open (a setting turns this off); each reload sends the etag of the last answer, so with a token an unchanged list costs nothing, and reviewers are read again only for pull requests that changed. When an automatic reload is refused, the list on screen stays. Review threads and resolving them go through GraphQL; from version 1.0.42, a used-up limit there is told the same way, with the time it opens again (before, it showed the words GitHub sent after "GitHub said:"). The review inbox, diffs and conversations are free; approving, commenting and merging are Pro (US$1.50 a month, with a 30-day trial).

GitHub is a trademark of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitHub, Inc. or JetBrains.

More: 401 "Bad credentials" · "Resource not accessible by personal access token" · "Resource protected by organization SAML enforcement" · GitHub merge refused (405, 409) · GitHub review refused (422) · GitHub search 422 "Validation Failed" · GitHub diff 406 "too_large", 3,000 files · GitHub line comment 422 "must be part of the diff" · GitHub branch update refused (422) · GitHub pull request not created (422, 403) · GitHub auto-merge refused · GitHub draft, ready for review or close refused · GitHub conversation not resolved · GitHub checks not shown (check runs 403) · GitHub file contents not read · GitHub compare refused (404, 422) · GitHub comment or reply refused (403 locked, archived) · GitHub merge method not allowed (405) · GitHub branch not found (404, 301) · GitHub Enterprise Server not reached · GitHub review request not shown · GitHub pull request list incomplete · GitHub 404 Not Found, renamed repositories (301, 307) · GitHub line comment outdated or not on the diff · GitHub pull requests not updating, notifications late · GitHub suggested change cannot be applied · GitHub required check stuck at "Expected" · GitHub code owner review required · GitHub merge blocked by unresolved conversations · GitHub merge blocked by unsigned commits · GitHub branch that merges through a merge queue · GitHub merge waiting for an approval of the most recent push · GitHub merge waiting for code scanning results · GitHub merge waiting for code quality results · GitHub merge blocked by a code coverage threshold · GitHub merge blocked by license compliance results · GitHub branch locked or its updates restricted · GitHub branch not deleted after merging · GitHub merge waiting for a team's approval (Required reviewers) · GitHub merge blocked by secret scanning alerts · GitHub stacked pull request not merging · GitHub push blocked by push rules · GitHub merge blocked by commit metadata rules · GitHub force push blocked · GitHub issue not closed by a merged pull request · GitHub pull request not checked out locally · GitHub pull request has merge conflicts · GitHub changes requested and dismissing a review · GitHub co-author not credited for a commit · GitHub dependency review check failed · GitHub Dependabot not rebasing its pull request · GitHub fork not syncing with upstream · GitHub pull request base branch not changing · GitHub pull request not reverting · GitHub pull request template not showing · GitHub pull request labels or assignees not added · GitHub pull request not closing or reopening · GitHub push blocked by push protection · GitHub pull request comment hidden · GitHub pull request blocked until deployments succeed · GitHub team review request replaced by members · GitHub pull request file no longer marked Viewed · GitHub pull request marked merged without being merged · GitHub Copilot review does not count as an approval · GitHub checks not running on a pull request a workflow created · GitHub Update branch button not shown on a pull request · GitHub checks failing on a Dependabot pull request · GitHub checks failing on a pull request from a fork · GitHub checks skipped by [skip ci] in a commit message · GitHub checks gone after the retention period · GitHub code review limits in a public repository · GitHub pull requests turned off or limited in a repository · GitHub checks run on every pull request in a stack · GitHub pull request showing commits already squash merged · GitHub pull request not showing a file diff · GitHub push to a pull request branch from a fork refused · GitHub check cancelled on a pull request · GitHub Rebase and merge not available · GitHub merge commit message not what you expected · GitHub pull request shows every line changed · GitHub API request timed out · GitHub pull request image or document diff not shown · GitHub review request refused (422) · GitHub pull request from Copilot: checks not running, approval not counted · GitHub push refused: GH006 and GH013 on a protected branch · GitHub "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語