As the Google Sheets API is a shared service, we apply quotas and limitations to make sure it's used fairly by all users and to protect the overall health of the Google Workspace system.
While Sheets API has no hard size limits for an API request, users might experience limits from different processing components not controlled by Sheets. To speed up requests, Google recommends a 2-MB maximum payload.
Sheets API has per-minute quotas, and they're refilled every minute. For example, there's a read request limit of 300 per minute per project.
If your app sends 350 requests in one minute, the additional 50 requests exceed the quota and generates a
429: Too many requests HTTP status code response. If this happens, you should use an
exponential backoff algorithm. After 1 minute, you
can execute requests again. Users can submit multiple requests at the same time, as long as they're within the quota limit.
All Sheets requests are applied atomically. That is, if any request is not valid then the entire update is unsuccessful and none of the (potentially dependent) changes are applied.
The following table details the request limits. Provided that you stay within the per-minute quotas, there's no limit to the number of requests that you can make per day.
For details about file limits, go to Files you can store in Google Drive.
Resolve time-based quota errors
For all time-based errors (maximum of N requests per X minutes), we recommend your code catches the exception and, using an exponential backoff algorithm, implement a small delay before trying again. If requests are still unsuccessful, it's important the delays between requests increase over time until the request is successful. Generally, you should use a truncated exponential backoff. To learn how to use exponential backoff, go to Retry strategy.
All use of the Google Sheets API is available at no additional cost. Exceeding the quota request limits doesn't incur extra charges and your account is not billed.
Request a quota increase
Depending on your project's resource usage, you might want to request a quota increase. API calls by a service account are considered to be utilizing a single account, so you might need a higher per-user, per-project quota in that scenario. Applying for an increased quota doesn't guarantee approval. Large quota increases can take longer to be approved.
To learn more, see the resources below: