Gmail API: Troubleshooting "User-rate limit exceeded" errors
Google services, including Gmail, have limitations on how many data requests a third-party application like Gmelius can make. This practice, known as rate-limiting , is essential for protecting Googl…

Google services, including Gmail, have limitations on how many data requests a third-party application like Gmelius can make. This practice, known as rate-limiting, is essential for protecting Google's servers from being overwhelmed and maintaining their overall health and performance.
Whenever an application interacts with a Gmail inbox, it uses one or more data requests on behalf of the signed-in user. Google enforces limits on the total number of requests a platform can make, as well as per-user limits. When these quotas are exceeded, Google's servers will return an error code 429 "User-rate limit exceeded", temporarily blocking further requests.
Our Commitment to Best Practices
At Gmelius, we have engineered our platform to interact with Google's services as efficiently as possible. We have implemented all of Google's recommended best practices to minimize our impact on your API quota. This includes a critical mechanism known as exponential back-off. When a rate limit is detected, our system automatically waits and retries the request after a progressively increasing delay. This intelligent error handling ensures we respect the limits and helps prevent further issues from our side.
However, because these limits are shared across all applications and services connected to a user's account, problems can still arise if the total volume of requests from all sources is too high.
To address these errors, we recommend the following actions for Google Workspace administrators:
1. Review Third-party apps with access to Gmail
The Gmail API enforces a per-user concurrent request limit (in addition to the per-user rate limit). This limit is shared by all Gmail API clients accessing a given user.
A large number of independent API clients accessing the Gmail user mailbox simultaneously can lead to this error. Google Workspace Administrators should remove non-essential third-party apps accessing Gmail to reduce concurrent requests. This can be done from the Google Workspace Admin dashboard at Google Admin > Third-Party Apps.
To identify which third-party apps are connected to the accounts of users who are getting 'User-rate limit exceeded' errors:
- Head to https://admin.google.com/ac/sc/investigation/d (as a Google Workspace Admin)
- Create a new Search
- Select "OAuth log events" as Data Source
- Build the conditions as: User contains
<user-to-investigate>
and Date after<date-of-your-choice>
- Finally, group the search results by Application name.

You'll then see a list of Applications connected to the user with their number of occurrences/OAuth calls. Feel free to revoke the ones with the highest number of occurrences by selecting them and clicking on "Revoke access tokens for user".

2. Disable IMAP/POP
The Gmail API has per-user upload and download bandwidth limits that are equal to, but independent of, IMAP. These limits are shared across all Gmail API clients for a given user.
These limits are typically hit in abusive situations. If these limits are exceeded a HTTP 429 Too Many Requests "User-rate limit exceeded" error is returned with a time to retry. Note that daily limits being exceeded may result in these types of errors for multiple hours before the request is accepted.
Mail clients pinging Gmail through IMAP and POP are often the cause for this error. You can check whether IMAP/POP is enabled for your Google Workspace domain by going to Google Admin > Apps > Gmail.

As enabling IMAP/POP can represent a data loss risk for your company, we recommend disabling it for your whole domain. If this is not feasible, then disable IMAP/POP for the impacted users of your domain by creating a corresponding Group or Organizational Unit.
3. Contact Google Support
If errors continue after implementing these measures, or if they are not applicable, contact Google Support by going to admin.google.com and clicking on "Support". Their team can help identify the issue and provide solutions to avoid "User-rate limit exceeded" errors.
By taking these steps, administrators can help prevent data request overloads and maintain efficient Gmail API interactions.
How did we do?
User showing as inactive