Pull public TikTok Shop product and shop data as JSON and store it on a schedule, so you can see which products gain sales week over week without running your own scraper.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/tiktok/product | Product Details | 1 | $0.0017 |
/v1/tiktok/shop_product_reviews | Product Reviews | 1 | $0.0017 |
/v1/tiktok/shop_products | Shop Products | 1 | $0.0017 |
/v1/tiktok/shop_search | Shop Search | 1 | $0.0017 |
/v1/tiktok/productProduct Details 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | The URL of the product to get details for. |
region | string | no | Region for the product details request. US is the reliable region right now; non-US regions should not be considered reliable and may return `bad_request` or mi |
Sample response (trimmed):
{
"categories": [
{
"category_id": "601450",
"level": 1,
"is_leaf": false,
"parent_id": "0",
"category_name": "Beauty & Personal Care",
"name_key": "magellan_601450"
}
],
"sale_region": "US",
"error_code": 0,
"error_message": "",
"product_info": {
"product_id": "1730383241618035288",
"status": 1,
"seller": {
"seller_id": "7496021452055022168",
"name": "Manspot",
"avatar": {
"height": 300,
"width": 300,
"uri": "tos-useast5-i-omjb5zjo8w-tx/c34696c75ae64397911e2e06193a12cc",
"url_list": [
"https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/c34696c75ae64397911e2e06193a12cc~tplv-fhlh96nyum-resize-png:300:300.png?dr=0&from=24..."
]
},
"product_count": 14,
"seller_location": "United States of America",
"tiktok_id": "7098283607022158891",
"tiktok_url": "https://www.tiktok.com/@7098283607022158891"
},
"product_base": {
"title": "【dealsforyoudays】Manspot Electric Body Hair Razor for Men - USB Rechargeable, Waterproof, Replaceable Ceramic Heads, Ultra-Smooth Shaving, Cordless Trimmer f...",
"desc_video": {
"id": "v12d52gd0030ctp3lknog65q8llkgcng",
"duration": 45.12,
"post_url": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-afa798-tx/o8ZA1q3RIWBxiuEE26yRtg6vSIOIwvi4uUM0S~tplv-noop.image?t=9276707c&x-expires=1754373510&x-signature=M...",
"media_type": "video"/v1/tiktok/shop_product_reviewsProduct Reviews 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | no | The URL of the product (required if product_id is not provided) |
product_id | string | no | The ID of the product (required if url is not provided) |
region | string | no | The region of the product. US is the reliable region right now; non-US regions should not be considered reliable and may return limited or inconsistent review d |
page | number | no | The page number of the reviews |
/v1/tiktok/shop_productsShop Products 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | The TikTok Shop store URL. |
sort_by | string | no | Sort products by best-selling items (`top`) or newest products (`new_releases`). Defaults to `top`. |
region | string | no | Region to get shop products from. Defaults to US if not provided. Non-US regions are not reliable right now and may return `not_found` or limited catalog data e |
next_cursor | string | no | Cursor parameter from the previous response to retrieve the next page of products. Omit for the first page. |
/v1/tiktok/shop_searchShop Search 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | yes | Term you want to search for |
region | string | no | Region to search shop products in. Non-US TikTok Shop regions are not reliable right now and may return limited or inconsistent results. Sorry for the inconveni |
page | number | no | Page number to retrieve |
curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/tiktok/product"import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/tiktok/product",
headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())Yes. Call the endpoints on a schedule and store the JSON on your side; each successful call is billed separately, see the cost table.
No. The endpoints return public shop and product data with one Scrapall API key header.
Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.
The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.
Full reference: all tiktok-shop endpoints.