TikTok Shop
TikTok Shop product search, listing detail, product reviews, whole-shop catalogues, and creator showcases
TikTok Shop is TikTok's commerce surface. These endpoints return product, review and seller data without touching the social graph, so they stay separate from the TikTok social API.
Base URL: /v1/tiktokshop/...
Every endpoint is 1 credit. Listings are addressed by their TikTok Shop url or by product_id, and every list endpoint returns a product_id you can carry straight into product and product/reviews without re-resolving a URL.
Region coverage differs per endpoint. user/showcase accepts region=US
only. product accepts US, GB, ID, MY, TH, SG, VN and PH. Any other value
on those calls returns a 400 before billing, at 0 credits.
Quickstart
Search for products
search is the entry point when you have nothing but a keyword, and it accepts the full region list.
curl "https://www.socialcrawl.dev/v1/tiktokshop/search?query=phone%20case®ion=US" \
-H "x-api-key: YOUR_API_KEY"Read a listing and its reviews
Both take either the listing URL or the product_id a list endpoint already gave you, so there is no need to re-resolve.
curl "https://www.socialcrawl.dev/v1/tiktokshop/product?url=https://www.tiktok.com/shop/pdp/PRODUCT" \
-H "x-api-key: YOUR_API_KEY"
curl "https://www.socialcrawl.dev/v1/tiktokshop/product/reviews?product_id=1729382476598" \
-H "x-api-key: YOUR_API_KEY"Search
| Endpoint | Credits | What it returns | Key parameters |
|---|---|---|---|
GET /v1/tiktokshop/search | 1 | Matching products with price, rating and seller info | query (required), cursor, page, region |
Products and reviews
| Endpoint | Credits | What it returns | Key parameters |
|---|---|---|---|
GET /v1/tiktokshop/product | 1 | Listing detail: price and discount, rating, review count, stock, seller detail, images. include=details (4 credits in all) adds the description, brand, specifications, shipping and delivery, and the official-shop label | url or product_id (one required), region, include |
GET /v1/tiktokshop/product/reviews | 1 | A listing's reviews with rating, text, author, buyer country and timestamp, plus the product's full review count in data.total | url or product_id (one required), cursor, page, region, label, judgments |
Shops and creators
| Endpoint | Credits | What it returns | Key parameters |
|---|---|---|---|
GET /v1/tiktokshop/products | 1 | Everything one shop sells: title, cover images, URL, price, sold count, review count, rating, plus the shop's own name, rating, follower count and region | url (required), cursor, sort_by, region |
GET /v1/tiktokshop/user/showcase | 1 | The products a creator has pinned to their own showcase, as the same canonical product object products returns | handle (required), cursor, region |
sort_by on products takes top (best-selling, the default) or new_releases. user/showcase is the endpoint that connects a creator to what they actually sell.
curl "https://www.socialcrawl.dev/v1/tiktokshop/products?url=https://www.tiktok.com/shop/store/STORE&sort_by=top" \
-H "x-api-key: YOUR_API_KEY"
curl "https://www.socialcrawl.dev/v1/tiktokshop/user/showcase?handle=charlidamelio®ion=US" \
-H "x-api-key: YOUR_API_KEY"Regions
search, products and product/reviews accept the same sixteen two-letter codes: US, GB, DE, FR, IT, ID, MY, MX, PH, SG, ES, TH, VN, BR, JP and IE. Use GB for the United Kingdom, not UK. Any other value is rejected with a 400 before billing, naming the codes that are accepted.
A shop is only reachable from its own market, so a GB storefront needs region=GB on products; asking for it as US returns a 404.
product accepts US, GB, ID, MY, TH, SG, VN and PH. user/showcase still accepts US only. To work with a listing in a market product does not serve, find it with search scoped by region and read its reviews with product/reviews by product_id.
All endpoints
6 endpoints available.
| Endpoint | Path | Credit Tier |
|---|---|---|
| Get TikTok Shop product details | /v1/tiktokshop/product | standard (1-4cr)metered |
| List TikTok Shop product reviews | /v1/tiktokshop/product/reviews | standard (1-5cr)metered |
| List TikTok Shop products | /v1/tiktokshop/products | standard (1cr) |
| TikTok Shop units sold and estimated sales per market | /v1/tiktokshop/sales | standard (0-8cr)metered |
| Search TikTok Shop products | /v1/tiktokshop/search | standard (1cr) |
| List TikTok user showcase products | /v1/tiktokshop/user/showcase | standard (1cr) |
Platform notes
Product lookups now resolve in GB, ID, MY, TH, SG, VN and PH as well as US. Other regions on product return a 400 before billing. A showcase is still served from the US only: a showcase whose products are listed only outside the US can return an empty list at 0 credits, and any region other than US on user/showcase is a 400 before billing.
Every list endpoint paginates. All four take the universal cursor: pass back pagination.next_cursor until has_more is false. products and product/reviews used to stop after one page, so a walk that predates 07/09/2026 will now keep going and reach the whole catalogue or the whole review corpus. Two of them also report the corpus size up front: data.total on products is the shop's on-sale product count, and on product/reviews it is the product's full review count. Reaching the end of a review walk returns a 404 at 0 credits, which is the normal terminator, not an error.
A handle TikTok does not have returns a 404, at 0 credits. user/showcase used to answer an empty list, which was impossible to tell apart from a creator who promotes nothing. A creator who exists but promotes nothing still returns 200 with an empty list.
search and user/showcase return the same product object products does. Before 07/09/2026 search returned the raw upstream row. Before 10/09/2026 user/showcase returned each product as a post, so likes and views were null. If you integrated against either old shape, read the changelog before upgrading. Search-only signals (seller trust label, shipping origin, promotion badges, category breadcrumb, demo video) live under product.ext.tiktokshop. Showcase stamps the handle you asked for on product.ext.tiktokshop.creator_handle.
The legacy paths still resolve. /v1/tiktok/shop/* and /v1/tiktok/user/showcase continue to work for backward compatibility, but new integrations should use /v1/tiktokshop/....
Labels
/v1/tiktokshop/product/reviews labels each review by default, at no extra credit: sentiment (read from the words, never the stars, with rating_mismatch when the two clearly disagree) and issue (the main problem the review reports) on computed.labels. Send judgments=off for the page without them. See Labels for the field shapes and the labels you can add with label=, such as label=reports&reports=the battery drains quickly.
Next steps
Pagination
The universal cursor, and which endpoints here use it.
Credits
What each tier costs, and which failures are refunded.
API reference
Every TikTok Shop parameter and response field.
TikTok
The social side: profiles, videos, comments and search.
Amazon
Product, review and competing seller data for amazon.com.
