TikTok Shop API for commerce enrichment
Public Shop PDPs, reviews, store product lists, catalog search, and creator showcase shelves — one API key beside TikTok profiles and videos.
What usually breaks first
Common failure modes after a DIY scraper or marketplace API hits production — schema drift, billing surprises, and pagination quirks.
TikTok Shop listings live next to creator content, but seller portals and partner docs are built for merchants and affiliates who manage inventory — not for reading competitors' public PDPs into a warehouse.
Social Fetch exposes five GET routes for public Shop data: one product by PDP URL, reviews for that product, a store's listed catalog, keyword search across Shop, and a creator's profile showcase shelf. Same data + meta envelope as the rest of TikTok. No seller login. Affiliate program write access (campaigns, commissions, order attribution) stays with TikTok's official affiliate / seller products.
5 routes for this job
Routes used in live tiktok shop integrations (TikTok). Paths and params match OpenAPI; documented fields ship in responses.
GET /v1/tiktok/productsResolve one public TikTok Shop product detail page (PDP) URL into catalog JSON under data.product. Optional region picks a catalog country when the default does not match the listing. Endpoint page: /platforms/tiktok/products.
GET /v1/tiktok/products/reviewsPage customer reviews for one Shop product by PDP URL or productId. Ratings, text, media, verifiedPurchase flags, and summary stats under data.summary. Page-based pagination via page / nextPage.
GET /v1/tiktok/shop/productsList products for one public storefront when you already have the shop URL. Store summary under data.shop, product cards under data.products, cursor pagination when hasMore is true.
GET /v1/tiktok/shop/products/searchKeyword discovery across the Shop catalog. Required query, optional region and 1-based page. Product cards include price, sold/review metrics, and shop summary when available.
GET /v1/tiktok/profiles/{handle}/showcase-productsPage the products a creator features on their profile Shop shelf by handle. Cursor pagination and optional region. Call GET /v1/tiktok/profiles/{handle} first when you need an explicit found / not_found / private outcome before treating an empty shelf as "no commerce."
How teams wire this
Typical order starts with “discover skus with catalog search.” Adjust cadence, schema, and thresholds to your stack.
- 1
Discover SKUs with catalog search
Hit GET /v1/tiktok/shop/products/search with the product name, brand, or niche phrase. Page with page until hasMore is false. Shortlist PDP URLs (and product ids) before you burn credits on full detail or review pulls.
- 2
Hydrate keepers from the PDP
Pass each public /shop/pdp/… URL to GET /v1/tiktok/products. Store product_id and catalog fields from data.product. Set region when your watchlist is country-specific — listings unavailable in that region may fail rather than invent an empty product.
- 3
Pull reviews for assortment scoring
For SKUs you keep, call GET /v1/tiktok/products/reviews with the same url or productId. Walk pages; score average rating and recent complaint themes client-side. found with an empty reviews array means the product resolved but this page has no reviews.
- 4
Crawl a known storefront
When you already have a shop URL from ads or a seller you track, use GET /v1/tiktok/shop/products and advance cursor while hasMore is true. Join store summary fields to your seller graph, then fan out PDP detail only for new or changed product ids.
- 5
Map creators to featured products
Affiliate and creator-commerce research often starts from @handles, not shop URLs. Call GET /v1/tiktok/profiles/{handle}/showcase-products to page the shelf. This is public shelf enrichment — not TikTok Affiliate program enrollment, commission writes, or order attribution.
- 6
Branch on outcomes before you upsert
Prefer routes that expose lookupStatus (product detail, reviews, store list) and branch before writing rows. Showcase shelves do not return lookupStatus — resolve the profile card first when empty products would otherwise look like a deleted shop. Log meta.requestId and bill from meta.creditsCharged.
Example: resolve a TikTok Shop PDP
Swap YOUR_API_KEY for a dashboard key. The playground pre-fills auth for the same path.
Why teams skip DIY TikTok Shop scrapers
- Shop routes sit beside TikTok profiles, videos, comments, and search under one API key — creator + commerce enrichment without a second vendor contract.
- Five focused GETs cover the common commerce story: PDP detail, reviews, store catalog, keyword search, and creator showcase shelves.
- Public enrichment only — you do not need a seller account, and we do not claim TikTok Affiliate campaign or commission write access.
- Shared { data, meta } envelope with lookupStatus where the route defines it; infrastructure failures are not charged.
- Credits do not expire between monthly assortment sprints — poll ten SKUs weekly or a full store crawl during a market-entry project on the same balance.
- When TikTok changes Shop markup, your field names stay on the documented envelope — you are not rewriting CSS selectors on every deploy.
- No published rate cap beyond your credit balance; for big store backfills stay under ~500 concurrent requests so you do not queue behind your own thundering herd.
- Affiliate research stays read-only: showcase shelves and PDPs for competitive intel, official TikTok affiliate tools for program participation.
Run a tiktok shop lookup on free credits
100 credits on signup — run the curl above, inspect lookupStatus and meta.creditsCharged, then buy a pack when ready. Balances do not expire.