Product reviews API

2 endpoints on 2 platforms return the same Review object. The buyer reviews of a product. A call costs from $0.0020 to $0.0200, each endpoint at its own price; a failed call is free.

Run it in the PlaygroundSee the callSign in to run it; it runs on your own balance.
Platforms2 platforms
Endpoints2 endpointsone on each platform
PriceFrom $0.0020per call. A failed call is free
ReturnsReview10 to 20 a page, with a cursor for the next

Product reviews on each platform

One row per endpoint: what it is called, how much comes back in a call, and what a call costs.

PlatformEndpointA pageReturnsPrice
TikTokTikTok Shop product reviewsGET/v1/tiktok/shop/products/reviews/list10Review list$0.0020
Xiaohongshu (RedNote)Xiaohongshu product reviewsGET/v1/xiaohongshu/shop/products/reviews/list20Review list$0.0200
Prices are the prices in force. A call that fails, or whose result is uncertain, costs nothing.Live status →

The Review object

Every endpoint above returns these fields, with the same names and types.

The object's own page →
idtextID
product_idtextID of the product it reviews
texttextText of the review; null when the buyer gave a rating and wrote nothing
ratingnumberThe buyer's rating of the product, out of 5
published_attimeWhen it was written
author.idtextReviewer's account ID
author.nametextReviewer's display name, as the platform shows it (it may be masked)
author.avatar_urllinkReviewer's avatar
imageslist of linkAddresses of the pictures the buyer attached
varianttextWhich variant was bought, as the platform words it

Which platform fills which field

A field an endpoint cannot give is listed in meta.unavailable on every answer, so a gap is never a surprise.

Platformproduct_idpublished_at
TikTok
Xiaohongshu (RedNote)

The same call on two platforms

Same parameter names, same paging, same answer. Only the path changes.

# TikTok
curl -G "https://api.dataxapi.com/v1/tiktok/shop/products/reviews/list" \
  --data-urlencode "id=1732488007561286228" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"

# Xiaohongshu (RedNote): one word changes
curl -G "https://api.dataxapi.com/v1/xiaohongshu/shop/products/reviews/list" \
  --data-urlencode "id=67bc0378a2e72600153d3ed1" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
// TikTok
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);

// Xiaohongshu (RedNote): one word changes
const other = await dx.xiaohongshu.shop.products.reviews.list({ id: "67bc0378a2e72600153d3ed1" });
console.log(other.data.items);
# TikTok
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.tiktok.shop.products.reviews.list(id="1732488007561286228")
print(result["data"]["items"])

# Xiaohongshu (RedNote): one word changes
other = dx.xiaohongshu.shop.products.reviews.list(id="67bc0378a2e72600153d3ed1")
print(other["data"]["items"])
# TikTok
dataxapi call tiktok.shop.products.reviews.list id=1732488007561286228

# Xiaohongshu (RedNote): one word changes
dataxapi call xiaohongshu.shop.products.reviews.list id=67bc0378a2e72600153d3ed1
200 · application/json · charged $0.0020
{
  "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"
    }
  }
}

TikTok Shop product reviews: 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.

Ready to use

Skills your AI can run on these endpoints, with what one run costs, and the objects every answer comes back as.

All skills →

Questions about the Product reviews API

Short answers. Each endpoint's page has its own limits and examples.

TikTok Shop product reviews API →
How much does it cost?

$0.0020 a call on TikTok; $0.0200 a call on Xiaohongshu (RedNote). You are charged when data comes back; a failed call costs nothing. No subscription, no monthly minimum.

Does every platform fill every field?

No. 2 of the 10 fields are missing on at least one platform; the table on this page says which. A field an endpoint cannot give is named in meta.unavailable on every answer, never filled with a guess.

Do I need an account on the platform?

No. One DataXAPI key reads all 2 platforms. No platform account and no cookie.

Other data types

The same idea everywhere: one action, every platform that has it.

Start with one key.

207 endpoints on 21 platforms, from $0.0003 a call. Errors and timeouts are not charged.

Start free