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:
- 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
.