---
title: "List product groups"
method: GET
path: "/catalogs/product_groups"
tags: ["catalog_product_groups"]
---

# List product groups

`GET /catalogs/product_groups`

Get a list of product groups for a given Catalogs Feed Id owned by the "operation user_account".
- By default, the "operation user_account" is the token user_account.

Optional: Business Access: Specify an `ad_account_id` (obtained via [List ad accounts](/docs/api/v5/#operation/ad_accounts/list)) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following [Business Access](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts) roles on the ad_account: Owner, Admin, Catalogs Manager.

[Learn more](/docs/api-features/shopping-overview/)

## Query parameters

- `id` integer[]
- `feed_id` string
- `catalog_id` string
- `ad_account_id` string
- `bookmark` string
- `page_size` integer

## Response `200`

The request has succeeded.

- object
  - `bookmark` string, nullable
  - `items` CatalogsVerticalProductGroup[], required
    - union
      - object
        - `catalog_id` string, required
        - `catalog_type` 'RETAIL', required
        - `country` string, nullable
        - `created_at` integer — Unix timestamp in seconds of when catalog product group was created.
        - `description` string, nullable
        - `feed_id` string, nullable, required — id of the catalogs feed belonging to this catalog product group
        - `filters` union, required — Object holding a group of filters for a catalog product group
          - CatalogsProductGroupFiltersAnyOf
            - `any_of` CatalogsProductGroupFilterKeys[], required
              - …
          - CatalogsProductGroupFiltersAllOf
            - `all_of` CatalogsProductGroupFilterKeys[], required
              - …
        - `id` string, required
        - `is_featured` boolean — boolean indicator of whether the product group is being featured or not
        - `locale` string, nullable
        - `name` string — Name of catalog product group
        - `status` 'ACTIVE' | 'INACTIVE'
        - `type` 'MERCHANT_CREATED' | 'ALL_PRODUCTS' | 'BEST_DEALS' | 'PINNER_FAVORITES' | 'TOP_SELLERS' | 'BACK_IN_STOCK' | 'NEW_ARRIVALS' | 'SHOPIFY_COLLECTIONS' | 'I2PC' | 'CATALOG_EXPANSION', required — Catalog product group type - **MERCHANT_CREATED**: Product groups created by merchants. - **ALL_PRODUCTS**: Consists of every product in your latest successful feed upload. - **BEST_DEALS**: Consists of products with the deepest drop in price. - **PINNER_FAVORITES**: Consists of products that are resonating most with people on Pinterest, based on engagement. - **TOP_SELLERS**: Consists of products with the highest conversion rate, if you have the conversion tag installed. - **BACK_IN_STOCK**: Consists of products that were previously out of stock and are now in stock. - **NEW_ARRIVALS**: Consists of products that are new to your Catalog. - **SHOPIFY_COLLECTIONS**: Product groups created based on Shopify Product Collections. - **I2PC**: Product groups created based on predicted product category. - **CATALOG_EXPANSION**: Consists of high-potential, recommended products from your catalog.
        - `updated_at` integer — Unix timestamp in seconds of last time catalog product group was updated.
      - object
        - `catalog_id` string, required
        - `catalog_type` 'HOTEL', required
        - `created_at` integer — Unix timestamp in seconds of when catalog product group was created.
        - `description` string, nullable
        - `filters` union, required — Object holding a group of filters for a hotel product group
          - CatalogsHotelProductGroupFiltersAnyOf
            - `any_of` CatalogsHotelProductGroupFilterKeys[], required
              - …
          - CatalogsHotelProductGroupFiltersAllOf
            - `all_of` CatalogsHotelProductGroupFilterKeys[], required
              - …
        - `id` string, required
        - `name` string — Name of catalog product group
        - `type` 'MERCHANT_CREATED' | 'ALL_LISTINGS', required — Catalog hotel product group type
        - `updated_at` integer — Unix timestamp in seconds of last time catalog product group was updated.
      - object
        - `catalog_id` string, required
        - `catalog_type` 'CREATIVE_ASSETS', required
        - `created_at` integer — Unix timestamp in seconds of when catalog product group was created.
        - `description` string, nullable
        - `filters` union, required — Object holding a group of filters for a creative assets product group
          - CatalogsCreativeAssetsProductGroupFiltersAnyOf
            - `any_of` CatalogsCreativeAssetsProductGroupFilterKeys[], required
              - …
          - CatalogsCreativeAssetsProductGroupFiltersAllOf
            - `all_of` CatalogsCreativeAssetsProductGroupFilterKeys[], required
              - …
        - `id` string, required
        - `name` string — Name of catalog product group
        - `updated_at` integer — Unix timestamp in seconds of last time catalog product group was updated.

## Other responses

- `400` — The request could not be understood by the server due to unexpected data.
- `401` — Authentication is required and has either failed or not been provided.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404` — The requested resource could not be found on this server.
- `429` — The user has sent too many requests in a given amount of time and is being rate limited.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/pinterest/apis/pinterest-rest-api.md) · [All operations](https://skmtc.net/pinterest/apis/pinterest-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pinterest/pinterest-rest-api/versions/b698c180678a/schema)
