Shopping
TikTok Shop API
Retrieve public TikTok Shop product pages, store catalogues, keyword search results and embedded product reviews as structured JSON from the US storefront.
Retrieve TikTok Shop products and reviews, search shops and list shop products.
API availability: Available
http://localhost:3035Public API: https://api.scrapeatlas.com.Endpoints
/v1/tiktok/productGet a TikTok Shop product
Read a public product page and its detail feed: identity, categories, seller summary, title, gallery, description blocks, specifications, sold count, unmasked sale and list prices, sale properties, every SKU with stock, price and package, the selected delivery option, rating and review counts, the embedded reviews with the rating histogram, the shop summary, availability and the seller's business compliance line.
Reference/v1/tiktok/shop/productsList a TikTok Shop store's products
Read one page of a store's public product grid: the shop summary and twenty product cards in the storefront's order, continued with the caller-carried cursor.
Reference/v1/tiktok/shop/searchSearch TikTok Shop products
Read one page of the storefront's keyword feed: twenty product cards and the matching shops, continued with the caller-carried cursor.
Reference/v1/tiktok/shop/product/reviewsGet a TikTok Shop product's reviews
Read the reviews block embedded in a public product page: the embedded reviews, the total, whether more exist and the rating histogram.
ReferenceQuick start
Create an API key on your account page, then call the public API. Values below are placeholders.
curl "https://api.scrapeatlas.com/v1/tiktok/product?product_id=1729000000000000001" \
-H "x-api-key: YOUR_API_KEY"Coverage & limits
- Independent worker on port 3035, TIKTOK_SHOP_API_KEY in x-api-key. No login, persistent cookies, storage, media download, TikTok Shop developer key or product dependencies; a US residential proxy session per request when TIKTOK_SHOP_PROXY_URL is set.
- Four concurrent operations, 40-second total deadline, at most four upstream calls per operation (the document that opens the session, one JSON feed call, one canonical redirect hop and one transient retry). Challenges, rate limits and 4xx answers are never retried.
- The United States storefront is served (region US). Store grids use the storefront's top ordering (sort_by=top).
- 4 MiB decoded bytes per operation, JSON depth 64 and 600,000 nodes; 20 store cards and 20 search cards per page, 10 embedded reviews, 1,000 SKUs.
- Product prices come from the detail feed; a product whose feed did not answer is returned with prices_unavailable.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, regions, sorts or cursors. |
| 401 | unauthorized | Invalid API key. |
| 404 | not_found | Unknown or removed product, or a store the storefront does not serve. |
| 429 | upstream_rate_limited | TikTok Shop rate limited the request. |
| 502 | upstream_challenged | TikTok Shop answered its Security Check page, an HTTP 401/403, or refused the session's feed call (status challenged). |
| 502 | unsafe_redirect | TikTok Shop redirected outside the requested product or store (for example to a regional storefront or the login page). |
| 502 | unsupported_page | Layout, identity or feed-envelope checks failed, or a non-HTML document was served. |
| 502 | response_too_large | The upstream response exceeded 4 MiB. |
| 502 | payload_too_complex | The embedded JSON exceeded parsing limits. |
| 502 | request_limit | The upstream call budget was exhausted. |
| 502 | upstream_error | Network failure, an unexpected upstream status after one retry, or an unexpected feed code. |
| 503 | busy | All retrieval slots are occupied. |
| 504 | timeout | The 40-second deadline elapsed. |