Limits and Quotas on API Requests

This document describes the limits and quotas of requesting the Management APIs and Reporting APIs.

Google Analytics is used by millions of sites. We put limits and quotas on API requests to protect the system from receiving more data than it can handle, and to ensure an equitable distribution of the system resources. The limits and quotas are subject to change.

This video discusses the best practices for managing Google Analytics API request quotas.

General quota limits

The following quotas apply to Management API, Core Reporting API v3, MCF Reporting API, Metadata API, User Deletion API, and Real Time Reporting API:

  • 50,000 requests per project per day, which can be increased.
  • 10 queries per second (QPS) per IP address.
    • In the API Console, there is a similar quota referred to as Requests per 100 seconds per user. By default, it is set to 100 requests per 100 seconds per user and can be adjusted to a maximum value of 1,000. But the number of requests to the API is restricted to a maximum of 10 requests per second per user.
    • If your application makes all API requests from a single IP address (i.e., on behalf of your users), use the userIP or quotaUser parameter with each request to get full QPS quota for each user. See the standard query parameters summary for details.

Reporting APIs

The following quotas apply to all Reporting APIs, including the Core Reporting API v3, Analytics Reporting API v4, Real Time API v3, and Multi-channel Funnel API v3:

  • 10,000 requests per view (profile) per day (cannot be increased)
  • 10 concurrent requests per view (profile) (cannot be increased)
Analytics Real Time Reporting API calls are accounted separately from other Analytics APIs, which means it is possible to make 10,000 calls per day per view (profile) using the Analytics Real Time Reporting API AND make another 10,000 calls per day per view (profile) using any other Analytics APIs.

This behavior provides more granular and fail-safe approach to managing quotas, so that frequent calls using the Analytics Real Time Reporting API would not accidentally block all other Analytics API calls for the rest of the day for an individual view (profile).

Reporting APIs request errors

If your request to the Reporting API fails with a server error, you get a response code 500 or 503. You can resubmit the request; however, do not resubmit this request more than once if it repeatedly fails. Google Analytics allows:

  • 10 server error failed requests per project per view (profile) per hour
  • 50 server error failed requests per project per view (profile) per day

If the number of your failed requests exceeds these quotas, you'll get the following error:

Quota Error: The number of recent reporting API requests failing by server error is too high.
You are temporarily blocked from the reporting API for at least an hour.
Please send fewer server errors in the future to avoid being blocked.

To reduce the chance that a request server errors, simplify the request by: reducing the date range, reducing the number of dimensions in the request, or reducing the number of metrics in the request.

Do not continuously resubmit a failed request. Instead, implement exponential backoff to resubmit it.

Server error rate quotas are enforced over rolling windows of time for each of the hourly and daily error rate quotas. One hour after a project and view pair's first server error, the quota resets. If a project and view pair sends 10 server errors in one hour, the project and view pair is blocked from the API until the hour after the first server error elapses.

For example if a project and view pair have not sent a server error in the last 24 hours, this project and view will have used 0 of its 50 quota. Let's say this project and view now send a server error at 6:12 AM. If this project and view send 49 additional server errors before 6:12 AM of the following day, this project and view will be blocked until 6:12 AM of the following day. At 6:12 AM of the following day, the server error rate quota will completely reset for this project and view.

Exceeding quota limits

If the quota of requesting a Google Analytics API is exceeded, the API returns an error code 403 or 429 and a message that the account has exceeded the quota. See the terms of service for more information.

Requesting additional quota

You can only request to increase:

To view or change usage limits for your project, or to request an increase to your quota, do the following:

  1. If you don't already have a billing account for your project, then create one.
  2. Visit the Enabled APIs page of the API library in the API Console, and select an API from the list.
  3. To view and change quota-related settings, select Quotas. To view usage statistics, select Usage.

To request an increase of the maximum quota amount, please use the Analytics API quota request form. Make sure to review the information and follow the instructions in the quota request form before submitting the request. For Reporting API v4, the API name in Google API Console is Google Analytics Reporting API. All other v3 APIs (e.g., Management API v3, Core Reporting API v3, Real Time Reporting API v3, User Deletion API v3) are listed under Analytics API in Google API Console.

For more information on quota management and how to fine-tune your application for quota usage, see Monitoring APIs and capping usage.