Skip to main content
GET
Sales channel mix

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

start_date
string
required

Window start, YYYY-MM-DD inclusive (shop timezone).

end_date
string
required

Window end, YYYY-MM-DD EXCLUSIVE (TikTok's end_date_lt semantics). Must be after start_date.

max_pages
integer
default:5

Cap on product pages walked (100 products each, one TikTok call each, a few seconds each).

Required range: 1 <= x <= 10
currency
enum<string>

USD for US dollars or LOCAL for the shop's own currency. TikTok defaults to LOCAL.

Available options:
USD,
LOCAL
organization_id
integer

Use the TikTok Shop of this child brand (organization id) of your API key's organization

Response

Channel totals and shares for the window.

shopId
string
required
startDate
string
required
endDate
string
required

Exclusive, as requested.

currency
string | null
required

null when products came back in more than one currency, or when there were no products. Every amount and share is then null too.

total
object
required
channels
object[]
required

Always the six channels, in a fixed order. They do not overlap and their gmv adds up to total.gmv.

bySource
object
required
shopTab
object
required

Shop tab sales and traffic. Overlaps the channels, so its share is not part of their sum.

products
object
required
latestAvailableDate
string | null
required

Freshness marker. TikTok's analytics lag is typically T+1 to T+2.

productCard
object | null
required

Product card GMV by entry point, from TikTok Seller Center (TikTok's official API has no search channel). US shops only, and only while the shop's Seller Center session is active. Same window as the rest of the response, in US Pacific days. Seller Center has intraday values for today and yesterday, so a window past latestAvailableDate can show product card GMV the channels don't. Cached per shop and window for about 5 minutes. null when it can't be served (productCardReason says why); the rest of the response is unaffected.

productCardReason
enum<string> | null
required

Why productCard is null; null when it is present. no_seller_session: no seller web cookie on file, or no official token (the block needs both). region_not_supported: not a US shop (not called). session_expired: TikTok answered 98001002, the seller must log in again. captcha: TikTok challenged the call and one retry did not clear it. unexpected_response: the answer did not carry the expected metrics. upstream_error: any other failure, including an HTML or block page. timeout: Seller Center did not answer within about 8 seconds; the response went out without the block, and the late result is cached for the next request. A failure is remembered for about 2 minutes, so retrying sooner gets the same reason.

Available options:
no_seller_session,
region_not_supported,
session_expired,
captcha,
unexpected_response,
upstream_error,
timeout,
null