How to search TikTok Shop products and read their reviews
2 endpoints do it: TikTok Shop product search → TikTok Shop product reviews. The worked example below is 6 calls and costs $0.0120 in all; a failed call is not charged.
You get the TikTok Shop products for a search term in the United States store, with price, rating and units sold, and the first buyers' reviews of the ones you pick: text, rating, variant bought and photos.
Step 1: TikTok Shop product search
Search the products by your term. Each item has price, original_price, rating, metrics.sold and shop; the next step takes its id.
curl -G "https://api.dataxapi.com/v1/tiktok/shop/products/search" \ --data-urlencode "query=yoga mat" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.tiktok.shop.products.search(query="yoga mat") print(result["data"]["items"])
import { DataXAPI } from "@dataxapi/sdk";
const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.tiktok.shop.products.search({ query: "yoga mat" });
console.log(result.data.items);dataxapi call tiktok.shop.products.search 'query=yoga mat'{
"code": "ok",
"request_id": "56d10893-6768-479f-b127-a8e6ee077873",
"data": {
"items": [
{
"id": "1750923004242032614",
"url": "https://shop.tiktok.com/view/product/1750923004242032614",
"title": "Yoga mat: a beginner's guide in 8 minutes",
"price": "18.99",
"original_price": "19.99",
"currency": "USD",
"images": [
"https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/93dde11aaaba8ca57d1f~c5_720x720.jpeg"
],
"rating": 4.6,
"metrics": { "sold": 1232 },
"shop": { "id": "1719706733287275062", "name": "Pine & Oak Home" }
},
// … 22 more
]
},
"page": {
"next_cursor": null,
"cursor_expires_at": null,
"has_more": false,
"returned": 23
},
"warnings": [],
"meta": {
"capability": "tiktok.shop.products.search",
"result_status": "complete",
"fetched_at": "2026-10-12T21:46:03.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"description": "capability",
"metrics.reviews": "capability"
},
"billing": {
"amount": "0.002",
"currency": "USD",
"balance_after": "9.998"
}
}
}From a response recorded 2026-10-12 21:46 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
TikTok Shop product search · $0.0020 / a call · Parameters, fields and errors on the endpoint's page →
Step 2: TikTok Shop product reviews
Get the reviews of each product you pick by its id, which is also the last segment of the product's link. Each review has text, rating, variant, images and published_at.
curl -G "https://api.dataxapi.com/v1/tiktok/shop/products/reviews/list" \ --data-urlencode "id=1732488007561286228" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.tiktok.shop.products.reviews.list(id="1732488007561286228") print(result["data"]["items"])
import { DataXAPI } from "@dataxapi/sdk";
const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.tiktok.shop.products.reviews.list({ id: "1732488007561286228" });
console.log(result.data.items);dataxapi call tiktok.shop.products.reviews.list id=1732488007561286228
{
"code": "ok",
"request_id": "bd6a422d-6eae-4338-9039-dc195ae09455",
"data": {
"items": [
{
"id": "7241346721132232026",
"product_id": "1711666895973198690",
"text": "Better quality than I expected, well packed.",
"rating": 5,
"published_at": "2025-11-08T18:07:48.019Z",
"author": {
"id": "6532506578034157649",
"name": "Hannah Weiss",
"avatar_url": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/2d964118424ccf033c18~c5_100x100.jpeg"
},
"images": [
"https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/3cca00c14d044f99de43~c5_720x720.jpeg"
],
"variant": "Colour: Forest green"
},
// … 9 more
]
},
"page": {
"next_cursor": null,
"cursor_expires_at": null,
"has_more": false,
"returned": 10
},
"warnings": [],
"meta": {
"capability": "tiktok.shop.products.reviews.list",
"result_status": "complete",
"fetched_at": "2026-10-12T21:49:35.000Z",
"cached": false,
"replayed": false,
"unavailable": {},
"billing": {
"amount": "0.002",
"currency": "USD",
"balance_after": "9.998"
}
}
}From a response recorded 2026-10-12 21:49 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
TikTok Shop product reviews · $0.0020 / a call · Parameters, fields and errors on the endpoint's page →
What the example costs
one search, then the reviews of 5 of the products found
Prices are the prices in force when this page was built. A failed call, and an object that does not exist, cost nothing.
In your AI (MCP)
Connect DataXAPI to your AI client once. Then say what you want; the agent finds these endpoints, checks the price and calls them on your balance.
{
"capability": "tiktok.shop.products.search",
"query": "yoga mat",
"idempotency_key": "<a new UUID>"
}Sign in to copy the setup prompt with your keyAbout the MCP server →
With a Skill
Good to know
- Both endpoints read the United States store only.
- The search gives the first page of results only, as many products as that page holds (60 at most), with no cursor. For other products, change the search term.
- The reviews are the first 10 as the platform orders them, with no next page.
- The search returns no product description and no review count. A product ID nobody has cannot be told from a product without reviews: both return an empty list, which is charged, as an empty search is.