TikTok Shop API: product and shop data as JSON

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.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/tiktok/productProduct Details1$0.0017
/v1/tiktok/shop_product_reviewsProduct Reviews1$0.0017
/v1/tiktok/shop_productsShop Products1$0.0017
/v1/tiktok/shop_searchShop Search1$0.0017

Endpoint details

/v1/tiktok/product

Product Details 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesThe URL of the product to get details for.
regionstringnoRegion 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_reviews

Product Reviews 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringnoThe URL of the product (required if product_id is not provided)
product_idstringnoThe ID of the product (required if url is not provided)
regionstringnoThe 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
pagenumbernoThe page number of the reviews

/v1/tiktok/shop_products

Shop Products 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesThe TikTok Shop store URL.
sort_bystringnoSort products by best-selling items (`top`) or newest products (`new_releases`). Defaults to `top`.
regionstringnoRegion 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_cursorstringnoCursor parameter from the previous response to retrieve the next page of products. Omit for the first page.

/v1/tiktok/shop_search

Shop Search 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
querystringyesTerm you want to search for
regionstringnoRegion 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
pagenumbernoPage number to retrieve

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/tiktok/product"

Example: Python

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())

FAQ

Can I track products over time?

Yes. Call the endpoints on a schedule and store the JSON on your side; each successful call is billed separately, see the cost table.

Do I need a TikTok Shop seller account?

No. The endpoints return public shop and product data with one Scrapall API key header.

How do I pay and get my API key?

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.

How many credits does one call use?

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.

Get an API key and credits

Full reference: all tiktok-shop endpoints.