Bitbucket: "Rate limit for this resource has been exceeded"
Bitbucket Cloud answers this with HTTP 429 when the caller has used up its request limit for the last hour. The hour rolls: requests older than an hour stop counting, so calls come back minute by minute rather than all at once. Signed-in requests are counted against the user, so every script, CI server, bot and editor extension that signs in as the same account draws on one limit.
The whole answer
HTTP 429 Content-Type: text/plain Rate limit for this resource has been exceeded
- The body is plain text, not Bitbucket's usual JSON error. A tool that reads
error.messagefrom the JSON shows an empty message instead: an October 2026 Woodpecker CI report fixed exactly that, and a Jenkins plugin found the same in 2017. - Public reports from 2014 to October 2026 quote it from file downloads, Jenkins pull request builders, Renovate, a Terraform provider, Woodpecker CI and coding agents that poll pull requests; one such agent hit it twice within two hours in September 2026.
Which limit
From Atlassian's API request limits, over a rolling hour:
- Without signing in: 60 requests an hour across all API resources, counted per IP address.
- Signed in, counted per user: repository data (anything under
/2.0/repositories/, which is where pull requests are) 1,000 an hour, up to 10,000 with scaled limits; webhooks 1,000; application properties 2,000; raw file downloads 5,000; archives 1,500 files; Git over HTTPS and SSH 60,000. - Scaled limits: on a Standard or Premium plan with 100 or more paid users, requests made with a workspace, project or repository access token, or by a Forge app, get 10 more an hour for each paid user, up to 10,000. Atlassian's example: 500 seats give 1,000 + (500 − 100) × 10 = 5,000.
Atlassian documents three headers: X-RateLimit-Limit (requests allowed per hour, not the number left), X-RateLimit-NearLimit (true when less than 20% remain) and X-RateLimit-Resource (the group that gets scaled limits). An anonymous request to a public repository on October 24, 2026 carried none of them.
What to do
- Waiting works. Because the hour rolls, some requests come back within minutes; the whole limit is back an hour after the burst.
- Sign in if the tool is anonymous: 60 an hour becomes 1,000 for repository data. Bitbucket Cloud takes an Atlassian API token with your account's e-mail (how each token is sent).
- Find what else signs in as you. A CI server polling for pull requests, a dependency bot, a script and an editor extension with the same account all count against the same 1,000. Move automation off your personal account; on Standard and Premium, an access token is also the documented way to the scaled limits.
- Poll less. Where a CI server or bot can take webhooks instead of polling, the polling requests disappear.
- In your own script, stop and retry later on 429, and slow down when
X-RateLimit-NearLimitis true.
Bitbucket pull requests in IntelliJ IDEA
Pull Request Inbox for Bitbucket, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the pull requests that wait for your review in an IDE tool window. It reads again every 5 minutes only while that tool window is open, and when Bitbucket answers 429 it says that the limit was reached; without a token, it says that the 60 an hour are used up and that an API token raises the limit to 1,000 an hour or more, with reading still free. The review inbox, diffs and discussions are free; approving, commenting and merging are Pro (US$1.50 a month, with a 30-day trial).
Get it on JetBrains Marketplace
Bitbucket and Atlassian are trademarks of Atlassian; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by Atlassian or JetBrains.
More: Token is invalid, expired, or not supported for this endpoint · Bitbucket pull request plugins for IntelliJ IDEA, compared · 日本語