Shopping
TikTok Shop API
Retrieve public TikTok Shop products, related products and creator videos, store profiles and catalogues, keyword search results and embedded product reviews as structured JSON from the US storefront.
Retrieve TikTok Shop products, related products and reviews, read store profiles, 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: identity, categories, seller, title, gallery, description, specifications, sold count, live prices, sale properties, every SKU with stock, price and package, delivery option, ratings, embedded reviews with the histogram, shop summary and service percentiles, availability and business compliance.
Reference/v1/tiktok/product/relatedGet related products
Read what a product page recommends: creator videos tagged with the product, more products from the same store and similar products from other stores.
Reference/v1/tiktok/shop/infoGet a store profile
Read a store's public summary: name, logo, rating, sold and on-sale counts, followers, videos, service sub-scores, identity label and description.
Reference/v1/tiktok/shop/productsList a TikTok Shop store's products
Read one page of a store's public product grid from the storefront's store APIs: 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 of a public product: 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, with one keep-alive tunnel reused by the calls of that request.
- Four concurrent operations, 40-second total deadline, at most sixteen upstream calls per operation. A JSON call the storefront refuses is requested again up to four times, and a thin fallback search feed up to four times; challenges, rate limits and other 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, 20 related videos, 10 more-from-shop and 30 recommended cards.
- Product prices come from the storefront's product component or its detail feed; a product whose prices 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 kept refusing the call after its re-requests (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 JSON-envelope checks failed, or an unexpected document type was served. |
| 502 | response_too_large | The upstream response exceeded 4 MiB. |
| 502 | payload_too_complex | The upstream 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. |