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
orquotaUser
parameter with each request to get full QPS quota for each user. See the standard query parameters summary for details.
Management APIs
Google Analytics applies quotas to requests to these Management APIs:
Write APIs
These quotas apply to the write (insert
, update
, patch
, and delete
) requests:
- 50 write requests per project per day, which can be increased
- 1.5 queries per second (QPS) per Account ID
Write request errors
If your write request fails and you get a response code 500
or 503
,
you can resubmit it. Google Analytics allows:
- 50 failed write requests per hour.
If you attempt to submit more than 50 failed write requests per hour, you'll get the following error:
Quota Error: The number of recent failed writes is too high.
Instead of continuously resubmitting a failed write request, implement exponential backoff to resubmit it.
Data Import API
These quotas are specific to the
Uploads
resource:
- Lifetime Extended Data Import storage
limits (does not apply to hit data sent from the Collection APIs and SDKs):
- Analytics 360 limits for processing time import mode:
- 1 TB per property
- 20 GB per data set
- Analytics 360 limits for query time import mode:
- 1 GB per property
- 1 GB per data set
- Standard limits:
- 10 GB per property
- 10 GB per data set
- Analytics 360 limits for processing time import mode:
- 50 Data Sets per property
- 50 upload operations per property per day
- 1 GB per uploaded file
- Cost Data specific limits:
- 100 MB per date (
ga:date
) per data set. For example, if you import 50 MB data for 2014-10-10 in one upload and 50 MB data for 2014-10-10 in a second upload, you have reached the 100 MB limit for 2014-10-10 for that data set.
- 100 MB per date (
Experiments API
This quota applies to Experiments only:
- 12 Experiments per view (profile)
Experiments with one of the following
statuses
count towards this quota:
DRAFT
READY_TO_RUN
RUNNING
Experiments ended (status = ENDED
) for more than one day
don't count towards this quota.
Unsampled Reports API
These quotas apply to Unsampled Reports only:
- API requests to create unsampled reports are counted against the general Write Requests quota.
- The API uses the same per-property, per-day token system the web interface uses to create unsampled reports.
- The maximum number of unsampled reports allowed is 3,500. When this limit is
reached, trying to create further unsampled reports with the API results
in the following error:
Error creating this entity. You have reached the maximum allowed entities of this type.
User Permission API
This quota applies to User Permissions only:
- A user can have at most 100 Analytics accounts. Adding a user who has 100 Analytics accounts to a new account causes an error.
The following quotas apply to batched write (delete
, insert
, update
) requests
to user permissions:
- 300 user permission write requests per batch request
- 30 batched user permission write requests counted as 1 write request
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:
- The number of daily read requests per project (50,000 default)
- The number of daily write requests per project (50 default)
To view or change usage limits for your project, or to request an increase to your quota, do the following:
- If you don't already have a billing account for your project, then create one.
- Visit the Enabled APIs page of the API library in the API Console, and select an API from the list.
- 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.