The Content API for Shopping imposes quotas and hard limitations on some features. The quotas and limits shown below are provided solely to assist you in developing applications that use the Content API for Shopping. All quotas and limits are subject to elimination, reduction, or change at any time, without notice.
HTTP request limits
The Content API for Shopping endpoint has a 300 queries per second (QPS) limit.
This limit is enforced
per Google API Console project, not per
Merchant Center account. Since this limit is on HTTP requests, not method
calls, a custombatch
call with multiple method calls will only count as one
query for this particular limit. Users that exceed the QPS limit will receive
userRateLimitExceeded
errors.
Method call quotas
The following limits are the default method call quotas for Merchant Center accounts.
- Users exceeding the per minute quota will receive
quota/request_rate_too_high
errors. - Users exceeding the per day quota will receive
quota/daily_limit_exceeded
errors.
If you require a higher quota of a particular method than listed here, please contact us via the Content API for Shopping support forum to request an increase.
Here are some things to keep in mind:
- The quotas here are per-method. For example, the
get
method has a separate quota of calls from theupdate
method, though the size of those quotas is the same. - Dry runs of a method (i.e., using the
dryRun
query parameter) are counted separately from normal runs. - For quota usage,
patch
methods count as both aget
call and anupdate
call. - Each method call within a
custombatch
call is counted separately against its specific quota.
Service | Method | Quota per minute | Quota per day |
---|---|---|---|
Accounts | authinfo | 600 | 10000 |
all other methods | 1000 | 10000 | |
Accounts.labels | all methods | 1000 | 10000 |
Accountstatuses | all methods | 1000 | 10000 |
Accounttax | all methods | 1000 | 10000 |
BuyOnGooglePrograms | all methods | 100 | 1000 |
Datafeeds | fetchnow | 10 | 200 |
all other methods | 500 | 10000 | |
Datafeedstatuses | all methods | 500 | 10000 |
Liasettings | requestgmbaccess | 500 | 500 |
setinventoryverificationcontact | 500 | 500 | |
requestinventoryverification | 500 | 500 | |
all other methods | 1000 | 10000 | |
Localinventory | all methods | 60000 | 20000000 |
Orders | all methods | 10000 | 1000000 |
Orders sandbox | all Orders methods when using the sandbox environment | 40 | 10000 |
Orderinvoices | all methods | 10000 | 1000000 |
Orderreports | all methods | 10000 | 1000000 |
Orderreturns | all methods | 10000 | 1000000 |
Pos | all methods | 5000 | 1000000 |
Products | all methods | 60000 | 20000000 |
Productstatuses | all methods | 60000 | 20000000 |
Regionalinventory | all methods | 100000 | 100000000 |
Reports | all methods | 30 | 10000 |
Settlementreports | all methods | 10000 | 1000000 |
Settlementtransactions | all methods | 10000 | 1000000 |
Shippingsettings | all methods | 1000 | 10000 |
Resource representation limits
The following limits describe notable restrictions for certain string values and array fields within the resource representations used in the Content API. These limits are the same for both the Content API and their corresponding feature in the Merchant Center. This list of limits may not be complete, and these limits cannot be extended.
Resource | Field | Limit |
---|---|---|
Accounttax | Number of tax rules (rules[] ) |
100 |
Shippingsettings | Shipping services per country (services[] ) |
20 |
Shipping groups per shipping service (rateGroups[] ) |
20 | |
Labels per shipping group (applicableShippingLabels[] ) |
30 | |
Subtables per shipping group (subtables[] ) |
100 | |
Number of rows or columns in a single rate table2 | 150 | |
Length of shipping labels | 100 |
2 The number of rows or columns in a rate table affect the following array fields:
- Array fields within
rowHeaders
orcolumnHeaders
:prices[]
weights[]
numberOfItems[]
postalCodeGroupNames[]
locations[]
rows[]
cells[]