Products

List product catalog with inventory

Changed on

The shop's merchandising catalog with current stock — for syncing products into an external CRM or ordering system. Sourced from TikTok's product catalog (refreshed roughly every 6 hours), NOT the affiliate performance data in POST /products/list.

Each product carries its product-level inventory (total_inventory, sku_count, out_of_stock_sku_count) and, by default, a nested skus[] array with per-SKU stock and variant attributes. Set include_skus=false for a lighter product-only payload.

All money is reported as integer minor currency units (cents) in the product's currency. Prices and stock are passed through exactly as TikTok reports them: product-level total_inventory and per-SKU inventory can legitimately differ during a sync, so do not assume total_inventory equals the sum of SKU inventories. There is no warehouse-level stock breakdown — inventory exists only at the product and SKU grain.

For incremental syncs, pass updated_since and key off each row's updated_at. Soft-deleted products are excluded.

post/products/catalog

Request

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

Request body

pageinteger
page_sizeinteger
sort_by'title' | 'total_inventory' | 'price_min' | 'updated_at' nullable
sort_dir'asc' | 'desc'
product_namestring nullable
product_statusstring nullable

Exact match on product_status, e.g. 'ACTIVATE'.

in_stock_onlyboolean

When true, only products with total_inventory > 0.

updated_sincestring date-time nullable

Return only products Reacher synced on/after this instant. Accepts a plain date (YYYY-MM-DD, treated as midnight UTC) or a full ISO 8601 timestamp — pass the updated_at from a previous response verbatim to key an incremental catalog sync.

include_skusboolean

Embed the per-SKU inventory array on each product.

Response

Successful Response

paginationunknown required
shops_queriedstring[] nullable

Shop names included when querying multiple shops (x-shop-id: all or comma-separated).

Changes