# TikTok Shop User Showcase API (https://www.socialcrawl.dev/platforms/tiktokshop/user-showcase) > Fetches products featured in a TikTok user's public showcase: the products a creator promotes on their profile. Each row is the same canonical product object tiktokshop/products returns: title, price and original price, rating, sold count, images, SKU id, plus the requesting creator's handle under product.ext.tiktokshop.creator_handle. A handle that TikTok does not resolve returns 404 at no charge; a creator who exists but promotes nothing returns an empty list. Each page holds up to 20 products, a size TikTok sets and no parameter changes, at 1 credit a page; follow `next_cursor` to the end of the showcase, and the final empty page is free. A creator can add up to 2,000 products, but TikTok shows visitors a rotating selection of a large showcase (a few hundred products in the showcases we measured), so a walk of a large showcase can end with fewer products than the creator's own count, and two walks can differ by a few products. The last page of such a walk says so in `data._warnings` with a `showcase_public_view` entry. Region note: the upstream currently serves showcase lookups from the US only, so a showcase whose products are visible exclusively in another regional market can return an empty list at 0 credits. TL;DR: `GET /v1/tiktokshop/user/showcase` costs 1 credit per call and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `handle` | yes | The handle of the user | | `region` | no | Region the lookup is served from. Currently US only (an upstream limitation; other regions are rejected before billing). Support for more regions is planned upstream but has no date. (US) | | `cursor` | no | The `next_cursor` from the previous page. A cursor from deep in a large showcase stays valid for 7 days; an expired one is a free 400, and the walk restarts from the first page. | | `max_pages` | no | 1 to 50 (default 1, or 50 when `max_items` or `max_credits` is sent). Walk up to this many pages in one call and return the rows from all of them. Each page walked is billed exactly as one call to this endpoint (a cached page is free) and counts against your rate limit; its charge and any refund are recorded under the page's own request id, listed in `data.walk.request_ids`. The walk stops early at the last page, or when the request's time budget runs low; `data.walk.stopped` says why (`end`, `max_pages`, `max_items`, `max_credits`, `time_budget`, `page_error`) and `pagination.next_cursor` continues from where it stopped. | | `max_items` | no | 1 to 5000. Get more in one call: keep walking pages until the response holds at least this many rows, then stop with `data.walk.stopped: "max_items"`. The last page is returned whole (it was billed), so `data.items` can hold up to one page more than this, and `pagination.next_cursor` resumes right after it without skipping a row. Walks up to 50 pages unless `max_pages` says fewer; each page is billed as one call (a cached page is free). Add `max_credits` to cap the spend. A long walk can stop on the time budget first (`"time_budget"`): send the returned cursor with the same params to continue. | | `max_credits` | no | 1 to 100000. The most this call may spend, across every page it walks. A page starts only while the credits already spent plus that page's price (or, when higher, the most any page of this walk has cost) still fit, so the call never goes past it; the walk then stops with `data.walk.stopped: "max_credits"` and the cursor to resume. Sent alone, it walks as far as the budget goes (up to 50 pages). A value below the price of one page is a free 400 whose `error.details.page_credits` names that price. Credits a row join (`include=`) adds are known only once a page has run, so page 1 is checked against its own price. | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/tiktokshop/user/showcase" \ --data-urlencode "handle=mrtiktokreviews" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### How do I list a TikTok creator's showcase products? Send a GET request to /v1/tiktokshop/user/showcase with the handle parameter (no @ symbol). SocialCrawl returns a paginated list of products the creator promotes on their profile, each with title, price, images, and shop details. ### What is a TikTok user showcase? A showcase is the strip of affiliated products a TikTok creator pins to their profile, typically items they sell directly or earn commission on through TikTok Shop's affiliate program. ### What fields does each showcase product include? Each product returns product id, title, price, currency, primary image URL, images array, shop id, shop name, deep link to the product page, and the creator's handle, all in the unified post list schema. ### How do I paginate through a creator's full showcase? Read the cursor field from the response and pass it as the cursor parameter on your next request. Repeat until cursor is empty to collect every product the creator currently showcases. ### Why does a creator's showcase come back empty? Some creators simply have no public showcase, but there is also a regional limit: showcase lookups are currently served from the US (an upstream limitation), so a creator whose showcase products are listed only in another regional market, such as a GB-only showcase, can return an empty list. Empty responses cost 0 credits. ### How much does the TikTok Showcase API cost? Each request costs 1 credit on the standard tier regardless of how many products are returned in the page. New accounts get 100 free credits with no credit card required. See the full TikTok Shop API: https://www.socialcrawl.dev/platforms/tiktokshop ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - How to list TikTok creator showcase products with the SocialCrawl API - What does the SocialCrawl TikTok Showcase endpoint return?