Shop Performance

Top products over the window, with GMV and orders by channel

Changed on

One shop's products summed over the window from TikTok's daily product list, ranked by sort (gmv, orders, product_clicks or add_cart_count), limit products per page; product_total says how many products the window held in all. Products the catalogue knows are deactivated, rejected or deleted are left out unless include_inactive is true; each row carries listing_status (live, out_of_stock, seller_deactivated, platform_deactivated, rejected, deleted, or null when unknown) and the listed price_min/price_max in price_currency; listing_data_available is false when the catalogue could not be read (nothing excluded, listings null). Per product: GMV, refunds, orders, units, impressions, clicks, add-to-cart, and GMV plus orders for each channel — creators (affiliate), the shop's own videos and lives, product page — with shop_tab_gmv as an overlapping view and other_gmv the remainder: gmv = affiliate + seller_video + seller_live + product_card + other. Same window grammar as /shop-performance/timeseries. Single-shop only; a product's days_observed says on how many days of the window TikTok listed it.

post/shop-performance/products

Request

  • Base URL
    https://api.reacherapp.com/public/v1
  • URL
    https://api.reacherapp.com/public/v1/shop-performance/products
  • Auth
    API key in header x-api-key and API key in header x-shop-id

Request body

presetstring nullable

Relative window ending at the shop's newest settled day: <n>d (1-999), <n>m (1-99) or all, always capped at 365 days. Mutually exclusive with explicit dates; defaults to 30d when neither is given.

start_datestring date nullable

Inclusive window start (YYYY-MM-DD).

end_datestring date nullable

Inclusive window end (YYYY-MM-DD).

limitinteger

Products per page.

pageinteger

1-based page over the ranked list.

sort'gmv' | 'orders' | 'product_clicks' | 'add_cart_count'

Rank by this window total, descending.

include_inactiveboolean

Also list products the catalogue knows are deactivated or rejected. Off by default; out-of-stock products are always listed.

Response

Successful Response

shop_idinteger required
currency_codestring nullable

Null when the products mix currencies.

start_datestring required
end_datestring required
latest_available_datestring nullable
earliest_available_datestring nullable
sort'gmv' | 'orders' | 'product_clicks' | 'add_cart_count' required
pageinteger

The page these products are on; limit per page.

product_totalinteger required

Distinct products TikTok listed in the window, across all pages.

listing_data_availableboolean

False when the product catalogue could not be read for this response: nothing was excluded and every listing_status and price is null.

Changes

    • warning

      added the new deleted enum value to the /// response property for the response status

    • info

      added the new optional request property

    • info

      added the optional property to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status