For AI

Endpoints by data type

Product reviews API

2 endpoints on 2 platforms return product reviews as the same Review object. Buyers’ reviews of one product, a page at a time: the stars, the text, the variant bought, photos, likes and whether the purchase is verified. A call costs from $0.002 to $0.02, each endpoint at its own price; a failed call is free.

Product reviews · on each platform

PlatformEndpointPathA pagePrice
TikTokTikTok Shop product reviewsGET /v1/tiktok/shop/products/reviews/list20$0.002 per call · about 20 reviews per page
Xiaohongshu (RedNote)Xiaohongshu shop product reviewsGET /v1/xiaohongshu/shop/products/reviews/list12$0.02 per call · about 12 reviews per page

from $0.002 to $0.02 a call, each endpoint at its own price. A call that fails costs nothing.

The object it returns: Review

Every endpoint above returns these fields with the same names and types. A field a platform does not show comes back null and is named in meta.unavailable.

FieldTypeMeaning
idstringReview ID.
product_idstringID of the product reviewed.
ratingnumber | nullStars, 1 to 5.
textstringReview text; empty when the buyer left only stars.
published_atstring | nullWhen it was posted, ISO 8601 in UTC (a day for platforms that show only the date).
author_namestring | nullReviewer name as the shop shows it, often masked.
variantstring | nullThe variant bought.
imagesstring[] | nullPhotos attached to the review.
likesinteger | nullLikes on the review.
verified_purchaseboolean | nullWhether the shop marks it as a verified purchase.

The same call on two platforms

Same parameters, same paging, same response shape. Only the path changes.

cURL
# TikTok
curl -G "https://api.okdata.online/v1/tiktok/shop/products/reviews/list" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=1732296652516463425'

# Xiaohongshu (RedNote)
curl -G "https://api.okdata.online/v1/xiaohongshu/shop/products/reviews/list" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=6441fb9a6cd6140001acf7b4'

What people use it for

  • Find the complaints that keep coming up in a competitor’s one- and two-star reviews.
  • Check which variant buyers are happiest with.
  • Feed reviews to a model to draft the FAQ on a product page.

Questions

Can I get every review?
Where the shop pages its reviews, follow the cursor until page.has_more is false. Xiaohongshu’s shop shows only a first page, so that endpoint returns one page per product.
Why is the text of a review empty?
The buyer left only stars. text is then an empty string, and rating still holds the stars they gave.
Are reviewer names real?
They are as the shop shows them, often masked. Treat author_name as a label, not as a way to identify the buyer.

Connect once, then just ask.

Every new key comes with $0.10 to try it. One sentence connects your agent.

Start free
Connect your AI

Paste this into your agent

Read https://okdata.online/agents.md and set up okdata for me; my key is in the OKDATA_API_KEY environment variable.

Claude Code, Cursor, Codex and other agents that can open a link set themselves up from it.

MCP serverhttps://api.okdata.online/mcp