---
title: "This store's products and whether each can join GMV Max"
method: GET
path: "/gmv-max/store-products"
tags: ["GMV Max"]
---

# This store's products and whether each can join GMV Max

`GET /gmv-max/store-products`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/gmv-max/store-products`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

TikTok's `store/product/get`, read on the request: products with price, sales, stock and `gmv_max_ads_status` (`UNOCCUPIED` can join a GMV Max campaign). Use the `item_group_id` values for a campaign's product set or a bid recommendation. Single shop only.

## Query parameters

- `product_name` string, nullable
- `item_group_ids` string, nullable: Comma-separated SPU IDs, at most 10.
- `gmv_max_eligibility` boolean: Include each product's GMV Max eligibility (`gmv_max_ads_status`).
- `sort_field` 'min_price' | 'historical_sales', nullable
- `sort_type` 'ASC' | 'DESC', nullable
- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- GmvMaxStoreProductsResponse: GET /gmv-max/store-products — the store's products and their GMV Max status.
  - `shop_id` integer, required
  - `advertiser_id` string, required
  - `store_id` string, required: This shop's TikTok Shop (store) ID.
  - `source` 'live': Always `live`: read from TikTok on the request.
  - `fetched_at` string, nullable, required
  - `data` GmvMaxStoreProduct[], required
    - `item_group_id` string, required: The product SPU ID.
    - `title` string, nullable
    - `status` string, nullable
    - `gmv_max_ads_status` string, nullable: `UNOCCUPIED` means the product can join a GMV Max campaign.
  - `page_info` GmvMaxPageInfo
    - `page` integer, nullable
    - `page_size` integer, nullable
    - `total_number` integer, nullable
    - `total_page` integer, nullable

## Other responses

- `400`: Invalid request / shop not connected to GMV Max.
- `403`: The shop's TikTok authorization lacks this permission.
- `422`: TikTok rejected the request.
- `429`: TikTok is throttling, or the live-read cap was reached.
- `502`: TikTok failed transiently; safe to retry.
- `503`: Live reads are briefly unavailable; retry in a minute.

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-10-18** `17e0890869d5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/gmv-max/store-products/get.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
