List Product SKUs (Flattened Mapping List)
GET/api/tiktok-shop/products/skus
Flattened one-row-per-SKU product list — the Shopify-parity product-mapping table. Unlike List Products (one row per TikTok product), each row here is a single TikTokShopProductSku variant carrying its own mapping block (product, sku_product, subscription_offering, mapped_at, mapped_sku), so the shared frontend mapped-product column renders 1:1 exactly as it does for Shopify variants.
Requires a Bearer token.
Pagination: page (1-indexed), per_page (default 10).
Default sort: -updated_at. Allowed sorts: id, seller_sku, tiktok_sku_id, name, inventory_quantity, price, inventory_synced_at, archived_at, created_at, updated_at (prefix with - for descending).
Archived behaviour: archived SKUs are excluded by default. Supply filter[archived] to change this — archived/true/1 returns only archived SKUs, all returns both.
Filters:
filter[integration_instance_ids]— comma-separated TikTok integration-instance IDs.filter[seller_sku]— partial match on the seller SKU.filter[tiktok_sku_id]— partial match on the TikTok SKU id.filter[name]— partial match on the variant name.filter[mapped_sku]— partial match on the mapped SKU.io product SKU.filter[mapping_status]—mappedorunmapped.filter[mapped]— boolean;true= mapped only,false= unmapped only.filter[archived]— see Archived behaviour above.filter[search]— free-text across id, seller_sku, tiktok_sku_id, name, and parent product title.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.