API Description

TikTok Shop Reviews API Collect TikTok Shop product reviews, ratings, publication dates and images.

Request URL

POST https://scrapeapi.pangolinfo.com/api/v1/ecommerce/tiktok/reviews

Request Headers

ParametersParameter valueTypeDescription
Content-Typeapplication/jsonstringData format
AuthorizationBearer xxxstringAuthorization Token

Collection timeout: 90 seconds. Allow at least 105 seconds in your client.

Request Parameters

ParameterRequiredTypeDescription
productIdNostringProduct ID as a string; supply productId or productUrl.
productUrlNostringProduct URL on a configured storefront; alternative to productId.
Maximum length: 2048
includeNativeNobooleanDefaults to true; includes original platform fields.
allowStaleNobooleanDefaults to false; true permits stale cache on failure, identified in meta.
refreshNobooleanDefaults to false; true bypasses fresh cache.

Supply at least one of productId or productUrl. Product IDs must be strings.

Supported Storefronts

CountryDefault page sizeMaximum page size
US55

Returns only the first five recommended reviews. Further pages are unavailable.

Response Fields

FieldTypeDescription
codeintegerStatus code; 0 indicates success.
messagestringResponse message; ok on success.
pointCostnumberPoints charged for the complete response.
dataobject | nullCollected data, described below.

data Fields

FieldTypeDescription
countrystringStorefront country, not the review author’s country.
paginationobjectPagination details; continue using nextPage.
productIdstringProduct ID, returned as a string.
queryobjectEffective search parameters.
warningsstring[]Collection scope and data interpretation notes.
storestringstore
totalsobjectReported totals and returned counts, which may use different count semantics.
platformstringPlatform identifier.
sourceUrlstringsourceUrl
providerstringprovider
metaobjectCollection status and cache metadata.
schemaFingerprintstringschemaFingerprint
capturedAtstringCollection timestamp.
productSummaryobjectAggregate product rating and star distribution.
resultsobject[]Primary records returned by this request.
statisticsobjectstatistics

data.pagination Fields

FieldTypeDescription
nextPagenullNext page number; null indicates the end.
totalPagesintegerTotal pages; null when unknown.
pageSizeintegerRecords per page.
hasNextbooleanWhether another page is available.
pageintegerCurrent page number.

data.totals Fields

FieldTypeDescription
queryintegerEffective search parameters.
reportedintegerreported
returnedintegerreturned
withTextintegerwithText

data.meta Fields

FieldTypeDescription
cachestringcache
stalebooleanstale
ageSecondsintegerageSeconds
operationIdstringoperationId
upstreamAttemptsintegerupstreamAttempts
coalescedbooleancoalesced

data.productSummary Fields

FieldTypeDescription
withTextCountnullText review count; null when unavailable.
reviewCountnullReview count; null when unavailable.
averageRatingnumberAggregate average rating.
scopestringScope covered by the aggregate.
warningsany[]Collection scope and data interpretation notes.
sourcestringSource of the aggregate statistics.
totalCountintegerPlatform total, interpreted using countKind.
countKindstringCount semantics, distinguishing all ratings from text reviews.
starDistributionobjectCounts for ratings from 1 to 5 stars.

data.productSummary.starDistribution Fields

FieldTypeDescription
1integer1
2integer2
3integer3
4integer4
5integer5

data.results[] Fields

FieldTypeDescription
reviewIdstringUnique review identifier.
contentstringBody text in the original language.
titlestring | nullReview or post title; null when unavailable.
authorstring | nullAuthor name.
starstring | nullReview rating as a string, e.g. 5.0.
datestring | nullReview date reported by the platform.
createdAtstring | nullFull publication timestamp; null when unavailable.
purchasedboolean | nullVerified purchase status; null when unknown.
imgsstring[]Image URL array.
photosany[]Original image objects, including available sizes.
videosany[]Video array.
nativeobjectOriginal platform fields, controlled by includeNative.

data.statistics Fields

FieldTypeDescription
sellerobjectseller
soldCountstringsoldCount
skusobject[]skus
sortRulestringsortRule
hasMorebooleanhasMore
titlestringReview or post title; null when unavailable.

data.statistics.seller Fields

FieldTypeDescription
namestringname
idstringUnique record identifier.

data.statistics.skus[] Fields

FieldTypeDescription
specificationstringspecification
skuIdstringskuId

imgs supports Best Buy CA imageUrl and Judge.me original. photos retains original image objects and sizes. Unavailable ratings and dates remain null.

Errors retain the response envelope and data.error. Codes: invalid parameters 1002, rate limit 4029, busy 5001, collection failure 9200. HTTP 503 cooldown responses retain Retry-After.

Request Example

curl --request POST \
  --url https://scrapeapi.pangolinfo.com/api/v1/ecommerce/tiktok/reviews \
  --header 'Authorization: Bearer YOUR_PANGOLINFO_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "productId": "1731986560485069148"
}'

Response Example

This excerpt retains the first list item and shortens long text and URLs. pointCost is the charge for the complete response.

{
  "code": 0,
  "pointCost": 4.0,
  "data": {
    "country": "US",
    "pagination": {
      "nextPage": null,
      "totalPages": 1,
      "pageSize": 5,
      "hasNext": false,
      "page": 1
    },
    "productId": "1731986560485069148",
    "query": {
      "includeRatings": true,
      "pageSize": 5,
      "page": 1,
      "sort": "recommended"
    },
    "warnings": [
      "Live pagination can shift as reviews are added. Deduplicate by review ID and reconcile page 1."
    ],
    "store": "roborock",
    "totals": {
      "query": 5,
      "reported": 45,
      "returned": 5,
      "withText": 5
    },
    "platform": "tiktok",
    "sourceUrl": "https://shop.tiktok.com/us/pdp/1731986560485069148",
    "provider": "tiktok-pdp",
    "meta": {
      "cache": "miss",
      "stale": false,
      "ageSeconds": 0,
      "operationId": "265e603a-2050-40b1-b058-dff867f89250",
      "upstreamAttempts": 1,
      "coalesced": false
    },
    "schemaFingerprint": "1ecdb1b4f4753fd549d700c30caaa083e25e5f6897a9c9499d948ef9fb2244be",
    "capturedAt": "2026-11-07T11:49:53.053Z",
    "productSummary": {
      "withTextCount": null,
      "reviewCount": null,
      "averageRating": 4.8,
      "scope": "upstream_product_or_review_group",
      "warnings": [],
      "source": "TikTok Shop PDP review_info.review_ratings",
      "totalCount": 45,
      "countKind": "platform_review_total",
      "starDistribution": {
        "1": 1,
        "2": 0,
        "3": 0,
        "4": 3,
        "5": 41
      }
    },
    "results": [
      {
        "date": "2026-06-11",
        "imgs": [
          "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/2756ff21c292408c9e558e4c489d3bca~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5..."
        ],
        "merchantResponses": [],
        "syndication": {
          "incentivized": false,
          "reviewerCountry": "US",
          "sku": "Qrevo S5V-White",
          "skuId": "1732412412024033628"
        },
        "star": "5.0",
        "author": "S**t",
        "actualProductId": "1731986560485069148",
        "videos": [],
        "language": null,
        "title": null,
        "photos": [
          "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/2756ff21c292408c9e558e4c489d3bca~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5..."
        ],
        "content": "If I could give this thing more than 5 stars I would. We just installed spc flooring in our main living area, it is so nice to have “Rosie” vacuum and mop da...",
        "createdAt": "2026-06-11T17:44:47.052Z",
        "actualProductUrl": null,
        "purchased": true,
        "native": {
          "review_id": "7650195141623121677",
          "reviewer_avatar_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/6301c26037cf24d7f491a2055c4b11da~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=3...",
          "sku_specification": "Qrevo S5V-White",
          "sku_id": "1732412412024033628",
          "display_image_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/2756ff21c292408c9e558e4c489d3bca~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5...",
          "is_incentivized_review": false,
          "product_name": "Roborock Qrevo S5V Robot Vacuum and Mop - 12000Pa Suck, Anti-Collision, Wi-Fi, Auto-Self-Emptying, Auto-Refill Mopping, Warm Air Drying, FlexiArm Edge Moppin...",
          "review_rating": 5,
          "review_images": [
            "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/2756ff21c292408c9e558e4c489d3bca~tplv-fhlh96nyum-crop-webp:300:300.webp?dr=12190&t=5..."
          ],
          "reviewer_name": "S**t",
          "product_id": "1731986560485069148",
          "reviewer_id": "7286084275620250670",
          "review_time": "1781199887052",
          "review_text": "If I could give this thing more than 5 stars I would. We just installed spc flooring in our main living area, it is so nice to have “Rosie” vacuum and mop da...",
          "review_country": "US",
          "is_verified_purchase": true
        },
        "reviewId": "7650195141623121677"
      }
    ],
    "statistics": {
      "seller": {
        "name": "RoborockUS",
        "id": "7495314483238570332"
      },
      "soldCount": "635",
      "skus": [
        {
          "specification": "Qrevo S5V-White",
          "skuId": "1732412412024033628"
        }
      ],
      "sortRule": "recommended",
      "hasMore": true,
      "title": "Roborock Qrevo S5V Robot Vacuum and Mop - 12000Pa Suck, Anti-Collision, Wi-Fi, Auto-Self-Emptying, Auto-Refill Mopping, Warm Air Drying, FlexiArm Edge Moppin..."
    }
  },
  "message": "ok"
}

Points Usage

0.8 points per unique review within the response.

Each successful call is billed independently, including cached responses. Errors and empty lists cost zero; pointCost reports the charge.