---
title: "This store's GMV Max campaigns, read from TikTok now"
method: GET
path: "/gmv-max/tiktok-campaigns"
tags: ["GMV Max"]
---

# This store's GMV Max campaigns, read from TikTok now

`GET /gmv-max/tiktok-campaigns`

## Request

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

TikTok's `gmv_max/campaign/get`, read on the request and limited to this shop's store: campaign ID, name, on/off state, TikTok's delivery status and times. Unlike `gmv_max_campaigns_list` (Reacher's synced copy, with metrics) it is never behind and includes campaigns created minutes ago. One campaign type per call. A campaign the sync has not seen yet is checked on TikTok before it is returned (up to 20 per call); `unverified_omitted` counts the rows left out, and a smaller `page_size` brings them back. Single shop only.

## Query parameters

- `campaign_type` 'product' | 'live': Product or LIVE GMV Max.
- `status` 'active' | 'inactive' | 'deleted', nullable: TikTok's primary status: delivering, off, or deleted.
- `campaign_name` string, nullable
- `campaign_ids` string, nullable: Comma-separated, at most 100.
- `created_after` string, nullable: UTC, `YYYY-MM-DD HH:MM:SS`.
- `created_before` string, nullable: UTC, `YYYY-MM-DD HH:MM:SS`.
- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- GmvMaxTikTokCampaignsResponse
  - `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
  - `campaign_type` 'product' | 'live', required
  - `data` GmvMaxTikTokCampaign[], required
    - `campaign_id` string, required
    - `campaign_name` string, nullable
    - `operation_status` string, nullable: ENABLE or DISABLE.
    - `secondary_status` string, nullable
    - `create_time` string, nullable: UTC, `YYYY-MM-DD HH:MM:SS`.
    - `modify_time` string, nullable: UTC, `YYYY-MM-DD HH:MM:SS`.
    - `roi_protection_compensation_status` string, nullable
  - `page_info` GmvMaxPageInfo
    - `page` integer, nullable
    - `page_size` integer, nullable
    - `total_number` integer, nullable
    - `total_page` integer, nullable
  - `unverified_omitted` integer: Rows TikTok returned that could not be proven to be on this shop's store, so were left out.

## 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-20** `9353ed4982e8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/gmv-max/tiktok-campaigns/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)
