API Limits and Quotas

This document describes the limits and quotas for the Management and Reporting APIs.

Overview

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 system resources. Our policies are as follows and are subject to change.

This video discusses the best practices for general Google Analytics API quotas, that are shared between APIs, as well as quotas that are specific to either the Management APIs or the Reporting APIs.

General Quota Limits

The following quota limits are shared among the Management API, Core Reporting API V3, MCF Reporting API, Metadata API, and Real Time Reporting API.

  • 50,000 requests per project per day, which can be increased.
  • 10 queries per second (QPS) per IP.
    • In the API Console there is a similar quota which is referred to as "request per 100 seconds per user". By default, it is set to 100 requests per 100 seconds and can be adjusted to a maximum value of 1,000. Despite being listed as "per 100 seconds" 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) you should consider using the userIP or quotaUser parameter with each request to get full QPS quota for each user. See the standard query parameters summary for details.

Management API

Write Requests

This quota applies to write (e.g., insert, update, patch, and delete) requests:

  • 500 write requests per project per day, which can be increased
  • 1.5 queries per second (QPS) per Account ID

Write request errors

When implementing exponential backoff you can retry if you get 500 or 503 responses. This quota applies to failed write requests:

  • 50 failed write requests per hour.

Data Import

These quotas are specific to the Uploads resource:

  • Lifetime Extended Data Import storage limit (does not apply to hit data sent from the Collection APIs and SDKs.
  • 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 upload 50 MB of data for 2014-10-10 in one upload and 50 MB of data for 2014-10-10 in a second upload, then you will have reached the 100MB limit for 2014-10-10 for that data set.

Experiments

This quota is specific to Experiments:

  • 12 Experiments per view (profile). Experiments with the following status count towards this limit: DRAFT, READY_TO_RUN, and RUNNING. Experiments that have a status of ENDED for more than one day don't count towards this limit.

Unsampled Reports

These quotas are specific to Unsampled Reports:

  • Requests creating unsampled reports are counted against the general Write Requests quota.
  • The API uses the same per-property, per-day token system as when creating an unsampled report through the web interface.

User Permission

This quota is specific to User Permissions:

  • 100 linked accounts per user.

These limits are applicable to user permissions in batched write (delete, insert, update) requests

  • 300 user permissions requests per batch request.
  • 30 batched user permission requests count as 1 write request.

Provisioning API

Write Requests

This quota applies to write requests (e.g. createAccountTicket) for the Provisioning API:

  • 50 requests per project per day.
  • 1.5 queries per second (QPS) per Account ID.

Reporting APIs

These quotas apply to all reporting APIs including the Core Reporting API, the Realtime API, the Multi-channel Funnel API V3 and the Analytics Reporting API V4:

  • 10,000 requests per view (profile) per day.
  • 10 concurrent requests per view (profile).

Reporting errors

This quota applies to failed (5XX) reporting requests:

  • 10 failed requests per project per profile per hour.
  • 50 failed requests per project per profile per day.

Exceeding Quota Limits

If quota is exceeded, the Google Analytics API returns an error for additional requests (HTTP status code 403 Forbidden) and a message indicating that the specific account has insufficient quota to proceed. See the terms of service for more information.

Requesting Additional Quota

You may only request quota increases for the number of daily project requests and daily write requests. If you think that your application requires additional daily quota, you can request more by following the instructions below.

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.

Make sure to review the information and follow the instructions in the quota request form before submitting an increase request. For Reporting API V4 the API name in the Developers Console is Analytics Reporting API V4. All other V3 APIs (E.g. Management API V3, Core Reporting API V3, Real Time Reporting API V3) are in the Developers Console under the single API name Analytics API.

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