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.

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

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:

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.