TikTok Shop Product Reviews
Submit a TikTok Shop US product ID or SPU and a review cap, then receive public reviews with ratings, SKU details, and reviewer info
Source · en-USRevenir à la traduction
Aperçu
Public TikTok Shop US reviews capture how buyers describe fit, quality, and the SKU they actually purchased. This Data App turns the public review area of one US listing into a consistent set of records covering review text, ratings, SKU details, reviewer identity, and collection timestamps.
The result is built for repeatable reputation analysis instead of scrolling a product page. Each review keeps its original wording and stays linked to the Product ID, SPU ID, and SKU spec, so praise and complaints can be compared across sizes and collection runs with the same fields.
Data notes
The data covers publicly visible TikTok Shop US reviews for one Product ID / SPU at collection time. Results arrive in collection-time order, and each normal record is identified by its Comment ID. Non-US marketplaces, private feedback, order records, and buyer contact details are outside the coverage.
Rating, Product rating, SKU spec, User name, and flags such as Anonymous or Edited are snapshots and may change after collection. Avatar list, Image list, and Like count are retained as source text where the source supplies them that way. Published at, Collected at, Created at, and Updated at keep the source timestamps without inferring a timezone. Query product and No data retain the collection outcome when a product has no public review result.
What the results look like
Each normal record represents one publicly visible review of the selected TikTok Shop US product.
| Comment ID | Review text | Rating | User name | SKU spec | Published at |
|---|---|---|---|---|---|
| 7634602945472333582 | So I bought the zoom regular shoes last year, but they are too soft too spongy when you’re just walking around these are just right! Wide toe box Support you need support soft where you need it soft! I owned just about every air max and this is the best I’ve felt on my feet! Can’t say enough | 5 | Os Hs | US M 13 | 2026-05-01T01:18:51 |
| 7646028688848471821 | Best Nike out | 5 | b**d | US M 11 | 2026-05-31T20:16:30 |
| 7661519510674917133 | Great shoe great quality. I love it. | 5 | S**4 | US M 10 | 2026-07-12T14:08:54 |
Additional values include Product ID, SPU ID, SKU ID, Avatar list, Image list, and No data.
Use cases
- Split reviews by Rating, then read Review text to locate low-score issues.
- Group Review text by SKU spec to separate size-specific experience.
- Compare User name with Anonymous and Review text when judging how much weight to give a review.
- Count Comment ID by Published at to see how the mix of feedback changed over time.
Périmètre et limites
Each job accepts 1 TikTok Shop product ID or SPU and collects at most 4500 public reviews. Coverage is limited to the US marketplace. Fetch protection covers 225 pages / 4500 records.
- Adapté pour
- When you need public review text, ratings, and publish times for one TikTok Shop US product
- When you need SKU details, reviewer names, and collection timestamps for reputation analysis
- À ne pas utiliser pour
- When you need TikTok Shop reviews from a marketplace other than the US
- When you need real-time monitoring of newly posted reviews instead of one collection snapshot
- When you need orders, buyer contact details, or other non-public shop data
Gestion des échecs
Comportement en cas d'échec et de nouvelle tentative déclaré par l'auteur. Nous vous recommandons de l'inclure dans votre prompt système lors de l'intégration.
- 1If no reviews are returned, verify the product ID or SPU and use No data to distinguish an empty listing from a failed job
- 2A partial success still returns the reviews that were completed; submit a new collection after failure or expiry
- 3If authentication fails, a task context does not match, or the job times out, check the credential in the execution environment and submit a new collection instead of reusing the old job
Entrée
Paramètres requis pour appeler cette App, générés à partir de l'input.schema du manifest.json.
| Champ | Nom métier | Type | Requis | Défaut | Énum / Contraintes | Exemple | Description |
|---|---|---|---|---|---|---|---|
| product_item | Product ID / SPU | string | Oui | — | — | 1732075599219691674 | The TikTok Shop product ID or SPU whose public US reviews will be collected. Enter one identifier, 1 to 512 characters. |
| crawl_count | Maximum reviews to collect | string | Oui | — | — | 10 | The maximum number of public reviews to collect, from 1 to 4500. The result will not exceed this number and may be lower if the product has fewer reviews. |
Sortie
Structure des champs d'un enregistrement, générée à partir de l'output.schema du manifest.json.
| Champ | Nom métier | Type | Exemple | Description |
|---|---|---|---|---|
| avatar_url_list | Avatar list | string | ["https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7b7cc85e68a43794946269620078f2ac~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=b3f5fbe0&x-expires=1789545600&x-signature=jtdzYiVEWHbBH%2FlrOMkcxiRjLfU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5"] | Reviewer avatar URLs retained as source text, often a JSON list string. |
| biz_id | Business ID | string | 1732075599219691674 | Business identifier associated with this review. |
| comment_id | Comment ID | string | 7634602945472333582 | Unique identifier of this product review. |
| comment_source_name | Source name | string | — | Name of the review source when the source supplies it. |
| comment_source_type | Source type | string | — | Type of the review source when the source supplies it. |
| comment_text | Review text | string | So I bought the zoom regular shoes last year, but they are too soft too spongy when you’re just walking around these are just right! Wide toe box Support you need support soft where you need it soft! I owned just about every air max and this is the best I’ve felt on my feet! Can’t say enough | Public review body written by the buyer. |
| comment_time_text | Review time text | string | — | Review time as display text when the source supplies it. |
| comment_type | Review type | string | 1 | Review type code returned as source text. |
| comment_url | Review URL | string | — | Link to this review when the source supplies it. |
| crawl_time | Collected at | string | 2026-09-14T16:19:49 | Collection timestamp returned by the source, without an inferred timezone. |
| created_at | Created at | string | 1789373989528 | Record created timestamp retained as source text. |
| image_url_list | Image list | string | [] | Review image URLs retained as source text, often a JSON list string. |
| is_anonymous | Anonymous | boolean | false | Whether the reviewer is marked anonymous. |
| is_digged | Liked | boolean | false | Whether this review is marked as liked. |
| is_owner | Seller review | boolean | false | Whether this review is marked as posted by the seller. |
| is_updated | Edited | boolean | false | Whether this review is marked as edited. |
| item_id | Item ID | string | 1732075599219691674 | Item identifier associated with this review. |
| like_count | Like count | string | — | Like count for this review, retained as source text. |
| parent_comment_id | Parent comment ID | string | — | Parent review identifier when this row is a reply. |
| product_id | Product ID | string | 1732075599219691674 | Product identifier associated with this review. |
| product_rating | Product rating | string | 5 | Product rating value returned with this review, as source text. |
| publish_time | Published at | string | 2026-05-01T01:18:51 | Review publish timestamp returned by the source, without an inferred timezone. |
| rating_score | Rating | string | 5 | Star rating attached to this review, as source text. |
| ratings_url | Ratings URL | string | — | Link to the ratings page when the source supplies it. |
| sku_id | SKU ID | string | 1732075635013226650 | SKU identifier the reviewer purchased. |
| sku_specification | SKU spec | string | US M 13 | SKU specification text such as size. |
| spu_id | SPU ID | string | 1732075599219691674 | SPU identifier associated with this review. |
| task_item | Query product | string | 1732075599219691674 | Product ID or SPU this collection row is associated with. |
| no_data | No data | boolean | false | Whether this row is a no-result marker instead of a normal review. |
| updated_at | Updated at | string | 1789373989851 | Record updated timestamp retained as source text. |
| user_id | User ID | string | 7435352589535626286 | Reviewer user identifier. |
| user_name | User name | string | O**s H**s | Reviewer display name, which may be masked. |
| user_profile_url | Profile URL | string | — | Reviewer profile link when the source supplies it. |
Schema de l'enregistrement
La sortie est renvoyée enregistrement par enregistrement. detail.output.idFieldHint
{
"type": "object",
"properties": {
"avatar_url_list": {
"type": "string",
"title": "Avatar list",
"description": "Reviewer avatar URLs retained as source text, often a JSON list string.",
"prefill": "[\"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7b7cc85e68a43794946269620078f2ac~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=b3f5fbe0&x-expires=1789545600&x-signature=jtdzYiVEWHbBH%2FlrOMkcxiRjLfU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5\"]"
},
"biz_id": {
"type": "string",
"title": "Business ID",
"description": "Business identifier associated with this review.",
"prefill": "1732075599219691674"
},
"comment_id": {
"type": "string",
"title": "Comment ID",
"description": "Unique identifier of this product review.",
"prefill": "7634602945472333582"
},
"comment_source_name": {
"type": "string",
"title": "Source name",
"description": "Name of the review source when the source supplies it."
},
"comment_source_type": {
"type": "string",
"title": "Source type",
"description": "Type of the review source when the source supplies it."
},
"comment_text": {
"type": "string",
"title": "Review text",
"description": "Public review body written by the buyer.",
"prefill": "So I bought the zoom regular shoes last year, but they are too soft too spongy when you’re just walking around these are just right! Wide toe box Support you need support soft where you need it soft! I owned just about every air max and this is the best I’ve felt on my feet! Can’t say enough"
},
"comment_time_text": {
"type": "string",
"title": "Review time text",
"description": "Review time as display text when the source supplies it."
},
"comment_type": {
"type": "string",
"title": "Review type",
"description": "Review type code returned as source text.",
"prefill": "1"
},
"comment_url": {
"type": "string",
"title": "Review URL",
"description": "Link to this review when the source supplies it."
},
"crawl_time": {
"type": "string",
"title": "Collected at",
"description": "Collection timestamp returned by the source, without an inferred timezone.",
"prefill": "2026-09-14T16:19:49"
},
"created_at": {
"type": "string",
"title": "Created at",
"description": "Record created timestamp retained as source text.",
"prefill": "1789373989528"
},
"image_url_list": {
"type": "string",
"title": "Image list",
"description": "Review image URLs retained as source text, often a JSON list string.",
"prefill": "[]"
},
"is_anonymous": {
"type": "boolean",
"title": "Anonymous",
"description": "Whether the reviewer is marked anonymous.",
"prefill": false
},
"is_digged": {
"type": "boolean",
"title": "Liked",
"description": "Whether this review is marked as liked.",
"prefill": false
},
"is_owner": {
"type": "boolean",
"title": "Seller review",
"description": "Whether this review is marked as posted by the seller.",
"prefill": false
},
"is_updated": {
"type": "boolean",
"title": "Edited",
"description": "Whether this review is marked as edited.",
"prefill": false
},
"item_id": {
"type": "string",
"title": "Item ID",
"description": "Item identifier associated with this review.",
"prefill": "1732075599219691674"
},
"like_count": {
"type": "string",
"title": "Like count",
"description": "Like count for this review, retained as source text."
},
"parent_comment_id": {
"type": "string",
"title": "Parent comment ID",
"description": "Parent review identifier when this row is a reply."
},
"product_id": {
"type": "string",
"title": "Product ID",
"description": "Product identifier associated with this review.",
"prefill": "1732075599219691674"
},
"product_rating": {
"type": "string",
"title": "Product rating",
"description": "Product rating value returned with this review, as source text.",
"prefill": "5"
},
"publish_time": {
"type": "string",
"title": "Published at",
"description": "Review publish timestamp returned by the source, without an inferred timezone.",
"prefill": "2026-05-01T01:18:51"
},
"rating_score": {
"type": "string",
"title": "Rating",
"description": "Star rating attached to this review, as source text.",
"prefill": "5"
},
"ratings_url": {
"type": "string",
"title": "Ratings URL",
"description": "Link to the ratings page when the source supplies it."
},
"sku_id": {
"type": "string",
"title": "SKU ID",
"description": "SKU identifier the reviewer purchased.",
"prefill": "1732075635013226650"
},
"sku_specification": {
"type": "string",
"title": "SKU spec",
"description": "SKU specification text such as size.",
"prefill": "US M 13"
},
"spu_id": {
"type": "string",
"title": "SPU ID",
"description": "SPU identifier associated with this review.",
"prefill": "1732075599219691674"
},
"task_item": {
"type": "string",
"title": "Query product",
"description": "Product ID or SPU this collection row is associated with.",
"prefill": "1732075599219691674"
},
"no_data": {
"type": "boolean",
"title": "No data",
"description": "Whether this row is a no-result marker instead of a normal review.",
"prefill": false
},
"updated_at": {
"type": "string",
"title": "Updated at",
"description": "Record updated timestamp retained as source text.",
"prefill": "1789373989851"
},
"user_id": {
"type": "string",
"title": "User ID",
"description": "Reviewer user identifier.",
"prefill": "7435352589535626286"
},
"user_name": {
"type": "string",
"title": "User name",
"description": "Reviewer display name, which may be masked.",
"prefill": "O**s H**s"
},
"user_profile_url": {
"type": "string",
"title": "Profile URL",
"description": "Reviewer profile link when the source supplies it."
}
},
"required": [],
"additionalProperties": false
}Intégration
Cette App peut être intégrée via MCP, API, SDK ou export de fichiers — tous les canaux partagent les mêmes capacités et la même tarification. Chaque requête s'authentifie avec l'en-tête Authorization: Bearer à l'aide d'une API Key (longue durée, créée dans la console Data Hub) ; les clients MCP peuvent aussi se connecter via OAuth, sans clé. D'autres options comme la CLI et Skill arrivent bientôt.
Avec MCP (Model Context Protocol), vous pouvez appeler cette App directement depuis des clients IA comme Claude et Cursor. Choisissez votre client et votre mode d'authentification, puis copiez la config ci-dessous.
Config du client
Remplacez la valeur après Bearer par votre API Key longue durée. Fonctionne dans n'importe quel client, en CI ou en environnement sans navigateur.
{
"mcpServers": {
"super_ig__tiktok-shop-comment": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=super_ig/tiktok-shop-comment",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Laissez l'IA tout configurer pour vous
Vous ne voulez pas modifier les configs à la main ? Copiez le prompt d'installation et collez-le dans n'importe quel client IA — il effectuera la configuration à sa manière. (Le prompt demande à l'IA de vous réclamer votre API Key, afin que les identifiants ne finissent jamais dans l'historique de conversation ni dans des configs partagées.)
detail.access.mcp.composeHint
Tarifs
Facturé selon le nombre d'enregistrements renvoyés avec succès. Les exécutions échouées ne sont pas facturées. Facturé par unités de 30 enregistrement ; toute unité incomplète est arrondie à 30 enregistrement.
Facturé une fois par exécution soumise, quel que soit le nombre d'enregistrements renvoyés.
Plusieurs événements de facturation se cumulent indépendamment. Voir chaque élément pour les détails. Les exécutions échouées ne sont pas facturées.
Voir les créditsEssayer maintenant
Renseignez les paramètres et lancez l'exécution — les résultats proviennent d'un appel réel.