# API limits and quotas

Usage limits protect Google's infrastructure from automated processes that use
the Display \& Video 360 API in an inappropriate way. They ensure that one developer's
actions can't negatively impact the larger community.

## API request quota limits

The Display \& Video 360 API uses two types of limits:

- **Total quota limits**, which all relevant requests count against.
- **Write quota limits** , which all relevant requests made to write methods count against. Write methods are defined as methods---such as `create`, `patch`, `delete`, or `bulkEdit`---that modify resources. Note that [some
  methods](https://developers.google.com/display-video/api/limits#write_intensive) consume more write quota than others.

If your project exceeds any of these limits, [throttling could
occur](https://developers.google.com/display-video/api/limits#exceeding_limits).

### Project-wide quota limit

The following default quota limits are shared by all Display \& Video 360 API resources
and methods:

- **Total requests per minute per project:** `1500`
- **Write requests per minute per project:** `700`

### Advertiser-specific request quota limits

Methods that specify an advertiser ID in the request URL count against
additional "per advertiser per project" quota limits.

All requests with an advertiser ID specified in their URL path---such as
those to the [`advertisers.lineItems`](https://developers.google.com/display-video/api/reference/rest/current/advertisers.lineItems),
[`advertisers.creatives`](https://developers.google.com/display-video/api/reference/rest/current/advertisers.creatives), or
[`advertisers.channels`](https://developers.google.com/display-video/api/reference/rest/current/advertisers.channels) services---will count against
the following quota limits:

- **Total requests per minute per advertiser per project:** `300`
- **Write requests per minute per advertiser per project:** `150`

## Write-intensive methods

The following API methods are write-intensive, meaning that they use a
significant amount of product resources and, as a result, consume more
write request quota than other write requests.

Requests made to write-intensive methods are counted as 5 write queries
when computing write request quota consumption. For example, 100 standard write
requests and 21 write-intensive requests (none of which specify an advertiser)
made within a minute would be counted as 205 write queries (`100 + (21 * 5) =
205`) and would exceed the existing general request quota limit of 200 write
queries per minute.

The following methods are considered write-intensive:

- [`customBiddingAlgorithms.scripts.create`](https://developers.google.com/display-video/api/reference/rest/current/customBiddingAlgorithms.scripts/create)
- [`customBiddingAlgorithms.uploadScript`](https://developers.google.com/display-video/api/reference/rest/current/customBiddingAlgorithms/uploadScript)
- [`firstPartyAndPartnerAudiences.create`](https://developers.google.com/display-video/api/reference/rest/current/firstPartyAndPartnerAudiences/create)
- [`firstPartyAndPartnerAudiences.editCustomerMatchMembers`](https://developers.google.com/display-video/api/reference/rest/current/firstPartyAndPartnerAudiences/editCustomerMatchMembers)
- [`media.upload`](https://developers.google.com/display-video/api/reference/rest/current/media/upload)

## Exceeding quota limits

In the unlikely event that your request fails due to exceeding an API request
limit, the API returns an HTTP status code and reason for the error.
Additionally, the body of the response contains a detailed description of what
caused the error.

The following list shows the possible errors and recommended actions for
request failures caused by exceeding API request limits.

| Code | RPC | Message | Recommended Action |
|---|---|---|---|
| `429` | `RESOURCE_EXHAUSTED` | Resource has been exhausted (e.g., check quota). | [Examine your usage](https://console.developers.google.com/project/_/apiui/apiview/displayvideo.googleapis.com/metrics) from the Google API Console and modify your workflow to better parallelize requests made under different advertisers or more generally slow down the rate at which you are sending requests. |

Increases cannot be requested for Display \& Video 360 API quota limits.