TikTok Shop

TikTok Shop Search API

TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id.

Search TikTok Shop by keyword and get products as clean JSON: id, url, title, price + originalPrice + discountPercent + savingsAmount, currency (only when an amount exists), sold when the PDP exposes a per-product figure, rating + reviews (always keyed; null when the PDP has no score yet), image, and seller{id,name,url}. Native search is a single search-results window of product pages, each hydrated — TikTok's own Shop search is gated, so this is not TikTok's full catalog and there is no cursor. limit equals windowMax: default 10, max 10. Asking for more than 10 is a 422. The envelope names the yield: requested, totalReturned, serpHits, windowMax=10, hydrateFailures (SERP ids that did not become a priced row), hasMore (serp-pdp: true only when you sliced below the 10-cap — raise limit, do not pass a cursor; extended: also true on a full page, since a full fallback page is not proof the catalog is exhausted), windowKind (serp-pdp, or extended when the native window missed and the fallback path served), and truncatedReason=serp-window when the window is exhausted. timings{serpMs,hydrateMs,totalMs} show where the seconds went. top-level region is an echo of the region query param you sent (default US) — market selection, not a creator country and not AI-inferred. price is the SERP promo-min (priceBasis=serp-promo-min) — a different promo tier than Product Details' pdp-promo-min on the same product. sold is a list-row field here and on Shop Products; Product Details omits it. Flat 2 credits per call. Pass cache=true for the 24h shared cache.

Docs: https://captapi.com/apis/tiktok-shop-search

get/v1/tiktok-shop/shop-search

Request

  • Base URL: https://api.captapi.com
  • URL: https://api.captapi.com/v1/tiktok-shop/shop-search
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

qstring required

Product search query (min 2 characters), e.g. phone case.

regionstring

Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax.

limitinteger

Max items to return (default 10, max 10). Flat 2 credits per call.

cacheboolean

Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Response

Success. The data object for this endpoint.

successunknown required

Changes

No recorded changes to this operation across all 3 revisions of this API.