Nexscope logo

TikTok Batch Product Detail API

REST API and MCP service documentation generated from server-side API definitions. Responses shown here are the direct payload returned by each API execution.

API selector
TikTok / Social Commerce

API overview

Batch query TikTok product detail data, including multi-period sales and GMV (1d/7d/15d/30d/60d/90d/cumulative), live sales and live GMV, promoting video and creator data, views, price, rating, review count, commission rate, and delisted/fully-managed status. Supports batch retrieval by product ID or TikTok Shop product URL.

Try this API
Endpoint
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run
MCP method
nexscope_tiktok_batch_product_detail

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .
POSThttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run

Run an API

Request parameters documented by ecommerce.tiktok-batch-product-detail.

Slugtiktok-batch-product-detail
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyDirect API response payload. No data/result wrapper is added.

Status codes

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "productIds": [     "1732294342978343112"   ] }'
All categories/ TikTok / Social Commerce
POSThttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run

Run this API

Send a JSON request to execute this API and receive the direct response payload.

Open tester

Endpoint

MethodPOST
Pathhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
productIdsarrayoptional
List of product IDs (max 1000). Example: ["1729382310407603945", "1729382310407603946"]
Example: [ "1732294342978343112" ]
productUrlsarrayoptional
List of product URLs (max 1000), in the form https://shop.tiktok.com/us/pdp/<slug>/<productId>?...; the backend will extract the trailing productId from each URL and merge into productIds, not mutually exclusive with productIds
Example: []

Request example

{
  "productIds": [
    "1732294342978343112"
  ]
}

Response body

Returns the documented upstream API response directly without an additional wrapper.

NameTypeRequiredDescription
totalintegeroptional
Record count
Example: 1
productsarrayoptional
Product detail list (see product object below)
Example: []
columnsarrayoptional
Rendered columns
Example: []
typestringoptional
Render style
costTokenintegeroptional
Token cost
Example: 1
products[].productIdstringoptional
Product ID
Example: example-id
products[].productNamestringoptional
Product name
products[].imageUrlstringoptional
Product image
Example: https://example.com/image.jpg
products[].productImageUrlsarrayoptional
Product image URL list
Example: []
products[].regionstringoptional
Region code
Example: US
products[].sellerIdstringoptional
Seller ID
Example: example-id
products[].categoryIdstringoptional
Primary category ID
Example: example-id
products[].categoryL2Idstringoptional
Secondary category ID
Example: example-id
products[].categoryL3Idstringoptional
Tertiary category ID
Example: example-id
products[].minPricenumberoptional
Minimum SKU price (USD)
Example: 1
products[].maxPricenumberoptional
Maximum SKU price (USD)
Example: 1
products[].spuAvgPricenumberoptional
SPU average price (USD)
Example: 1
products[].productRatingnumberoptional
Product rating
Example: 1
products[].reviewCountintegeroptional
Review count
Example: 1
products[].productCommissionRatenumberoptional
Product commission rate
Example: 1
products[].totalSaleCntintegeroptional
Total sales
Example: 1
products[].totalSale1dCntintegeroptional
Sales in last 1 day
Example: 1
products[].totalSale7dCntintegeroptional
Sales in last 7 days
Example: 1
products[].totalSale15dCntintegeroptional
Sales in last 15 days
Example: 1
products[].totalSale30dCntintegeroptional
Sales in last 30 days
Example: 1
products[].totalSale60dCntintegeroptional
Sales in last 60 days
Example: 1
products[].totalSale90dCntintegeroptional
Sales in last 90 days
Example: 1
products[].totalSaleGmvAmtnumberoptional
Total GMV
Example: 1
products[].totalSaleGmv1dAmtnumberoptional
GMV in last 1 day
Example: 1
products[].totalSaleGmv7dAmtnumberoptional
GMV in last 7 days
Example: 1
products[].totalSaleGmv15dAmtnumberoptional
GMV in last 15 days
Example: 1
products[].totalSaleGmv30dAmtnumberoptional
GMV in last 30 days
Example: 1
products[].totalSaleGmv60dAmtnumberoptional
GMV in last 60 days
Example: 1
products[].totalSaleGmv90dAmtnumberoptional
GMV in last 90 days
Example: 1
products[].totalLiveCntintegeroptional
Total livestream count
Example: 1
products[].totalLive1dCntintegeroptional
Livestream count in last 1 day
Example: 1
products[].totalLive7dCntintegeroptional
Livestream count in last 7 days
Example: 1
products[].totalLive15dCntintegeroptional
Livestream count in last 15 days
Example: 1
products[].totalLive30dCntintegeroptional
Livestream count in last 30 days
Example: 1
products[].totalLive60dCntintegeroptional
Livestream count in last 60 days
Example: 1
products[].totalLive90dCntintegeroptional
Livestream count in last 90 days
Example: 1
products[].totalLiveSale1dCntintegeroptional
Livestream sales in last 1 day
Example: 1
products[].totalLiveSale7dCntintegeroptional
Livestream sales in last 7 days
Example: 1
products[].totalLiveSale15dCntintegeroptional
Livestream sales in last 15 days
Example: 1
products[].totalLiveSale30dCntintegeroptional
Livestream sales in last 30 days
Example: 1
products[].totalLiveSale60dCntintegeroptional
Livestream sales in last 60 days
Example: 1
products[].totalLiveSale90dCntintegeroptional
Livestream sales in last 90 days
Example: 1
products[].totalLiveSaleGmv1dAmtintegeroptional
Livestream GMV in last 1 day
Example: 1
products[].totalLiveSaleGmv7dAmtintegeroptional
Livestream GMV in last 7 days
Example: 1
products[].totalLiveSaleGmv15dAmtintegeroptional
Livestream GMV in last 15 days
Example: 1
products[].totalLiveSaleGmv30dAmtintegeroptional
Livestream GMV in last 30 days
Example: 1
products[].totalLiveSaleGmv60dAmtintegeroptional
Livestream GMV in last 60 days
Example: 1
products[].totalLiveSaleGmv90dAmtintegeroptional
Livestream GMV in last 90 days
Example: 1
products[].totalVideoCntintegeroptional
Total video count
Example: 1
products[].totalVideo1dCntintegeroptional
Video count in last 1 day
Example: 1
products[].totalVideo7dCntintegeroptional
Video count in last 7 days
Example: 1
products[].totalVideo15dCntintegeroptional
Video count in last 15 days
Example: 1
products[].totalVideo30dCntintegeroptional
Video count in last 30 days
Example: 1
products[].totalVideo60dCntintegeroptional
Video count in last 60 days
Example: 1
products[].totalVideo90dCntintegeroptional
Video count in last 90 days
Example: 1
products[].totalIflCntintegeroptional
Total creator count
Example: 1
products[].totalIflVideo1dCntintegeroptional
Creator video count in last 1 day
Example: 1
products[].totalIflVideo7dCntintegeroptional
Creator video count in last 7 days
Example: 1
products[].totalIflVideo15dCntintegeroptional
Creator video count in last 15 days
Example: 1
products[].totalIflVideo30dCntintegeroptional
Creator video count in last 30 days
Example: 1
products[].totalIflVideo60dCntintegeroptional
Creator video count in last 60 days
Example: 1
products[].totalIflVideo90dCntintegeroptional
Creator video count in last 90 days
Example: 1
products[].totalIflLive1dCntintegeroptional
Creator livestream count in last 1 day
Example: 1
products[].totalIflLive7dCntintegeroptional
Creator livestream count in last 7 days
Example: 1
products[].totalIflLive15dCntintegeroptional
Creator livestream count in last 15 days
Example: 1
products[].totalIflLive30dCntintegeroptional
Creator livestream count in last 30 days
Example: 1
products[].totalIflLive60dCntintegeroptional
Creator livestream count in last 60 days
Example: 1
products[].totalIflLive90dCntintegeroptional
Creator livestream count in last 90 days
Example: 1
products[].totalViewsCntintegeroptional
Total view count
Example: 1
products[].totalViews1dCntintegeroptional
Views in last 1 day
Example: 1
products[].totalViews7dCntintegeroptional
Views in last 7 days
Example: 1
products[].totalViews15dCntintegeroptional
Views in last 15 days
Example: 1
products[].totalViews30dCntintegeroptional
Views in last 30 days
Example: 1
products[].totalViews60dCntintegeroptional
Views in last 60 days
Example: 1
products[].totalViews90dCntintegeroptional
Views in last 90 days
Example: 1
products[].discountstringoptional
Discount info
products[].freeShippingintegeroptional
Whether free shipping
Example: 1
products[].salesFlagintegeroptional
Primary shipping method
Example: 1
products[].salesTrendFlagintegeroptional
Sales trend indicator: 0=stable, 1=rising, 2=falling
Example: 1
products[].isSShopintegeroptional
Whether fully managed store
Example: 1
products[].offMarkintegeroptional
Product delisting indicator
Example: 1
products[].firstCrawlDtstringoptional
First crawl date
products[].descDetailstringoptional
Product detail description
errcodeintegeroptional
Upstream status code returned by the provider.
errmsgstringoptional
Upstream status message returned by the provider.
codestringoptional
Provider-specific status code.
msgstringoptional
Provider-specific status message.
messagestringoptional
Provider-specific message.
titlestringoptional
Provider-specific response title.
sourceTypestringoptional
Provider-specific source platform type.
sourceToolstringoptional
Provider-specific source tool name.
costTimeintegeroptional
Execution time reported by the upstream provider.
pageintegeroptional
Current page returned by the upstream provider.
pageSizeintegeroptional
Page size returned by the upstream provider.
pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
totalPageintegeroptional
Total page count returned by the upstream provider.
dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.

Response example

Direct response payload. No extra wrapper is added.

{
  "total": 1,
  "products": [
    {
      "productId": "example-id",
      "imageUrl": "https://example.com/image.jpg",
      "productImageUrls": [],
      "region": "US",
      "sellerId": "example-id",
      "categoryId": "example-id",
      "categoryL2Id": "example-id",
      "categoryL3Id": "example-id",
      "minPrice": 1,
      "maxPrice": 1,
      "spuAvgPrice": 1,
      "productRating": 1,
      "reviewCount": 1,
      "productCommissionRate": 1,
      "totalSaleCnt": 1,
      "totalSale1dCnt": 1,
      "totalSale7dCnt": 1,
      "totalSale15dCnt": 1,
      "totalSale30dCnt": 1,
      "totalSale60dCnt": 1,
      "totalSale90dCnt": 1,
      "totalSaleGmvAmt": 1,
      "totalSaleGmv1dAmt": 1,
      "totalSaleGmv7dAmt": 1,
      "totalSaleGmv15dAmt": 1,
      "totalSaleGmv30dAmt": 1,
      "totalSaleGmv60dAmt": 1,
      "totalSaleGmv90dAmt": 1,
      "totalLiveCnt": 1,
      "totalLive1dCnt": 1,
      "totalLive7dCnt": 1,
      "totalLive15dCnt": 1,
      "totalLive30dCnt": 1,
      "totalLive60dCnt": 1,
      "totalLive90dCnt": 1,
      "totalLiveSale1dCnt": 1,
      "totalLiveSale7dCnt": 1,
      "totalLiveSale15dCnt": 1,
      "totalLiveSale30dCnt": 1,
      "totalLiveSale60dCnt": 1,
      "totalLiveSale90dCnt": 1,
      "totalLiveSaleGmv1dAmt": 1,
      "totalLiveSaleGmv7dAmt": 1,
      "totalLiveSaleGmv15dAmt": 1,
      "totalLiveSaleGmv30dAmt": 1,
      "totalLiveSaleGmv60dAmt": 1,
      "totalLiveSaleGmv90dAmt": 1,
      "totalVideoCnt": 1,
      "totalVideo1dCnt": 1,
      "totalVideo7dCnt": 1,
      "totalVideo15dCnt": 1,
      "totalVideo30dCnt": 1,
      "totalVideo60dCnt": 1,
      "totalVideo90dCnt": 1,
      "totalIflCnt": 1,
      "totalIflVideo1dCnt": 1,
      "totalIflVideo7dCnt": 1,
      "totalIflVideo15dCnt": 1,
      "totalIflVideo30dCnt": 1,
      "totalIflVideo60dCnt": 1,
      "totalIflVideo90dCnt": 1,
      "totalIflLive1dCnt": 1,
      "totalIflLive7dCnt": 1,
      "totalIflLive15dCnt": 1,
      "totalIflLive30dCnt": 1,
      "totalIflLive60dCnt": 1,
      "totalIflLive90dCnt": 1,
      "totalViewsCnt": 1,
      "totalViews1dCnt": 1,
      "totalViews7dCnt": 1,
      "totalViews15dCnt": 1,
      "totalViews30dCnt": 1,
      "totalViews60dCnt": 1,
      "totalViews90dCnt": 1,
      "freeShipping": 1,
      "salesFlag": 1,
      "salesTrendFlag": 1,
      "isSShop": 1,
      "offMark": 1
    }
  ],
  "columns": [],
  "costToken": 1
}

Responses

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_tiktok_batch_product_detail",
    "arguments": {
      "productIds": [
        "1732294342978343112"
      ]
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

Try it

Send a real request with the same contract shown in the reference.

Endpoint
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run
MCP method
nexscope_tiktok_batch_product_detail
cURL
curl -X POST \
  https://claw-callback.nexscope.ai/api/skill-api/v1/skills/tiktok-batch-product-detail/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "productIds": [ "1732294342978343112" ] }'
Response
No response yet. Run the request to see the response here.