Stay organized with collectionsSave and categorize content based on your preferences.
You can use theaggregateProductStatuses.listmethod to get a high-level
overview of the status of products in your Merchant Center account. This is
useful for monitoring the overall health of your product data without needing to
fetch every individual product. This method provides the total number of
products you have, broken down by status (approved, pending, disapproved), and
also lists any issues that are affecting your products.
Special considerations
There are special considerations when using theaggregateProductStatuses.listmethod.
Data availability: Expect a delay of more than 30 minutes between
when a product is inserted or updated and when its status is reflected in theaggregateProductStatusesresponse.
Issue consistency: The issue titles and descriptions returned by theaggregateProductStatuses.listmethod are intended to be consistent with the
issues returned by the Products API. However, they might differ from the
issue descriptions shown in the Merchant Center user interface.
Get an overview of all product statuses
This example shows how to retrieve a list ofAggregateProductStatusresources.
Each resource represents the status of products for a specific combination of
destination and country. CallingaggregateProductStatuses.listwithout any parameters returns all available statuses for your account.
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/aggregateProductStatuses
Get product statuses for a specific country and destination
You can filter the results to see the status for a specific country and
destination by using thefilterquery parameter with theaggregateProductStatuses.listmethod. For example:country = "US" AND reportingContext = "SHOPPING_ADS".
For more information, seeFilter syntax.
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/aggregateProductStatuses?filter=countryCode%3D"US"%20AND%20reportingContext%3D"SHOPPING_ADS"
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# View product statistics and issues\n\nYou can use the `aggregateProductStatuses.list` method to get a high-level\noverview of the status of products in your Merchant Center account. This is\nuseful for monitoring the overall health of your product data without needing to\nfetch every individual product. This method provides the total number of\nproducts you have, broken down by status (approved, pending, disapproved), and\nalso lists any issues that are affecting your products.\n\nSpecial considerations\n----------------------\n\nThere are special considerations when using the `aggregateProductStatuses.list`\nmethod.\n\n- **Data availability** : Expect a delay of more than 30 minutes between when a product is inserted or updated and when its status is reflected in the `aggregateProductStatuses` response.\n- **Issue consistency** : The issue titles and descriptions returned by the `aggregateProductStatuses.list` method are intended to be consistent with the issues returned by the Products API. However, they might differ from the issue descriptions shown in the Merchant Center user interface.\n\nGet an overview of all product statuses\n---------------------------------------\n\nThis example shows how to retrieve a list of `AggregateProductStatus` resources.\nEach resource represents the status of products for a specific combination of\ndestination and country. Calling\n[`aggregateProductStatuses.list`](/merchant/api/reference/rest/accounts_v1/accounts.aggregateproductstatuses/list)\nwithout any parameters returns all available statuses for your account. \n\n GET https://merchantapi.googleapis.com/accounts/v1/accounts/\u003cvar translate=\"no\"\u003e{ACCOUNT_ID}\u003c/var\u003e/aggregateProductStatuses\n\nHere's a sample response from a successful call: \n\n {\n \"aggregateProductStatuses\": [\n {\n \"name\": \"accounts/12345/aggregateProductStatuses/SHOPPING_ADS~US\",\n \"reportingContext\": \"SHOPPING_ADS\",\n \"countryCode\": \"US\",\n \"statistics\": {\n \"approvedCount\": \"1500\",\n \"pendingCount\": \"50\",\n \"disapprovedCount\": \"25\"\n },\n \"issues\": [\n {\n \"issueType\": \"missing_image\",\n \"severity\": \"ERROR\",\n \"numProducts\": \"15\",\n \"sampleProducts\": [\n \"accounts/12345/products/online~en~US~SKU001\",\n \"accounts/12345/products/online~en~US~SKU002\"\n ]\n },\n {\n \"issueType\": \"invalid_price\",\n \"severity\": \"CRITICAL\",\n \"numProducts\": \"10\",\n \"sampleProducts\": [\n \"accounts/12345/products/online~en~US~SKU003\"\n ]\n }\n ]\n },\n {\n \"name\": \"accounts/12345/aggregateProductStatuses/FREE_LISTINGS~US\",\n \"reportingContext\": \"FREE_LISTINGS\",\n \"countryCode\": \"US\",\n \"statistics\": {\n \"approvedCount\": \"1510\",\n \"pendingCount\": \"50\",\n \"disapprovedCount\": \"15\"\n },\n \"issues\": [\n {\n \"issueType\": \"missing_image\",\n \"severity\": \"ERROR\",\n \"numProducts\": \"15\",\n \"sampleProducts\": [\n \"accounts/12345/products/online~en~US~SKU001\",\n \"accounts/12345/products/online~en~US~SKU002\"\n ]\n }\n ]\n }\n ]\n }\n\nGet product statuses for a specific country and destination\n-----------------------------------------------------------\n\nYou can filter the results to see the status for a specific country and\ndestination by using the `filter` query parameter with the\n[`aggregateProductStatuses.list`](/merchant/api/reference/rest/accounts_v1/accounts.aggregateproductstatuses/list)\nmethod. For example: `country = \"US\" AND reportingContext = \"SHOPPING_ADS\"`.\nFor more information, see [Filter syntax](/merchant/api/guides/accounts/filter-syntax). \n\n GET https://merchantapi.googleapis.com/accounts/v1/accounts/\u003cvar translate=\"no\"\u003e{ACCOUNT_ID}\u003c/var\u003e/aggregateProductStatuses?filter=countryCode%3D\"US\"%20AND%20reportingContext%3D\"SHOPPING_ADS\"\n\nHere's a sample response from a successful call: \n\n {\n \"aggregateProductStatuses\": [\n {\n \"name\": \"accounts/12345/aggregateProductStatuses/SHOPPING_ADS~US\",\n \"reportingContext\": \"SHOPPING_ADS\",\n \"countryCode\": \"US\",\n \"statistics\": {\n \"approvedCount\": \"1500\",\n \"pendingCount\": \"50\",\n \"disapprovedCount\": \"25\"\n },\n \"issues\": [\n {\n \"issueType\": \"missing_image\",\n \"severity\": \"ERROR\",\n \"numProducts\": \"15\",\n \"sampleProducts\": [\n \"accounts/12345/products/online~en~US~SKU001\",\n \"accounts/12345/products/online~en~US~SKU002\"\n ]\n },\n {\n \"issueType\": \"invalid_price\",\n \"severity\": \"CRITICAL\",\n \"numProducts\": \"10\",\n \"sampleProducts\": [\n \"accounts/12345/products/online~en~US~SKU003\"\n ]\n }\n ]\n }\n ]\n }"]]