# TikTok Shop Reviews Pro ⭐️ (`deepmine/tiktok-shop-reviews-pro`) Actor

Extract TikTok Shop product reviews from product URLs, product IDs, or search-discovered products. Collect rating, review text, reviewer metadata, media flags, and product context for ecommerce intelligence.

- **URL**: https://apify.com/deepmine/tiktok-shop-reviews-pro.md
- **Developed by:** [DeepMine](https://apify.com/deepmine) (community)
- **Categories:** E-commerce, Social media, Automation
- **Stats:** 104 total users, 9 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## TikTok Shop Reviews Pro – Review Scraper & Data API

**TikTok Shop reviews scraper and review data API for serious ecommerce research.**
Collect TikTok Shop product reviews, star ratings, review text, reviewer signals, and media indicators at scale for **product research, competitor analysis, brand monitoring, sentiment analysis, and conversion optimization**.

If you need a dependable **TikTok Shop reviews dataset** for BI dashboards, AI pipelines, customer-feedback analysis, or market intelligence workflows, this Actor turns product review data into structured, export-ready results.

### Why TikTok Shop review data matters

Most teams do not just need product listings. They need **review intelligence**:

- What are buyers praising?
- What are buyers complaining about?
- Which products are gaining positive momentum?
- Which competitors are collecting low-star feedback?
- Which SKUs are getting media-rich reviews?

This Actor focuses on exactly that: **high-value TikTok Shop review data** you can use immediately.

### Core capabilities

- Scrape TikTok Shop reviews from:
  - Product URLs
  - Product IDs
  - Search-driven product discovery (via query keywords)
- Export structured review rows ready for:
  - Google Sheets
  - Airtable
  - BigQuery
  - Snowflake
  - PostgreSQL
  - Notion
  - Python / Pandas pipelines
  - LLM enrichment and sentiment classification
- Supports practical limits and controls for:
  - Number of products
  - Number of reviews per product
  - Query discovery depth
  - Retry / reliability behavior

### Popular TikTok Shop review use cases

Use this Actor to:

- Scrape TikTok Shop product reviews at scale
- Export TikTok Shop review data for analysis
- Build product-review and star-rating datasets
- Monitor customer sentiment and recurring complaints
- Compare competing TikTok Shop products and sellers
- Feed review intelligence into dashboards, databases, and AI workflows

### Who should use this

- Ecommerce operators managing multiple product lines
- Marketplace analysts tracking competitor quality signals
- Growth teams optimizing offer, pricing, and messaging
- Agencies running TikTok Shop research for clients
- Data teams building recurring marketplace dashboards
- AI teams training review classification and trend models

### What data you get

Each dataset item represents one review-style record with product context.

#### Product context fields

- `query`
- `product_id`
- `product_name`
- `seller`
- `brand_name`
- `product_url`
- `source_url`

#### Review fields

- `review_rank`
- `review_id`
- `rating`
- `review_text`
- `review_date`

#### Reviewer and engagement fields

- `reviewer_name`
- `reviewer_id`
- `reviewer_country`
- `likes_count`

#### Commercial and trust signals

- `is_verified_purchase`
- `is_incentivized_review`
- `variant`
- `has_media`
- `image_count`
- `first_image_url`
- `image_urls`
- `video_count`
- `first_video_url`
- `video_urls`

#### Metadata

- `scraped_at`

### Input options

You can start from one or more source types.

#### 1) Product URLs

Use `productUrls` when you already know the exact products.

#### 2) Product IDs

Use `productIds` when your source system stores IDs only.

#### 3) Keyword discovery

Use `queries` to discover products first, then extract review data.

At least one source type is required.

### Recommended settings by scenario

#### Fast validation run

- Small set of `productUrls`
- `maxReviewsPerProduct`: `20`
- `maxProductsTotal`: `20`

#### Competitor benchmark run

- Multiple competitor queries
- `maxPagesPerQuery`: `3-8`
- `maxProductsPerQuery`: `100-300`
- `maxReviewsPerProduct`: `50-200`

#### Large research batch

- Mixed `queries` + `productIds`
- `maxProductsTotal`: higher bound
- `compactNullFields`: `true`
- Keep `includeRawReview`: `false` unless debugging

### Example input

```json
{
  "queries": ["ergonomic chair", "gaming chair", "office chair"],
  "searchRegion": "US",
  "maxPagesPerQuery": 4,
  "maxProductsPerQuery": 150,
  "maxProductsTotal": 300,
  "maxReviewsPerProduct": 80,
  "includeRawReview": false,
  "includeRawProduct": false,
  "compactNullFields": true,
  "requestTimeoutSec": 30,
  "maxFetchRetries": 3,
  "queryRetryAttempts": 3,
  "allowDirectRescueOnSoftBlock": true,
  "enableBrowserFallback": true,
  "browserFallbackWaitMs": 8000,
  "failOnZeroAfterRetries": false
}
```

### Practical workflows

#### Workflow A: Review sentiment intelligence

1. Pull reviews by category query.
2. Group by `product_id` and average `rating`.
3. Run NLP tags on `review_text` (comfort, quality, shipping, sizing, etc.).
4. Track complaint themes and low-rating spikes over time.

#### Workflow B: Competitor weakness discovery

1. Scrape reviews for top competing products.
2. Filter low ratings with high `likes_count`.
3. Identify repeated pain points.
4. Build creative and listing copy that directly addresses those pain points.

#### Workflow C: Product quality monitoring

1. Schedule recurring runs.
2. Compare `rating`, `review_text`, and `has_media` trends.
3. Detect deterioration early before conversion drops.

#### Workflow D: SKU / variant insights

1. Extract `variant` values and review text.
2. Measure sentiment by variant.
3. Promote winning variants and fix weak ones.

### Data quality notes

- Review volume can vary by product, region, and time.
- Some products have sparse review history or highly repetitive feedback.
- When debugging edge cases, enable `includeRawReview` temporarily.

### Performance strategy tips

- Start with conservative limits, then scale once output quality is confirmed.
- Keep `compactNullFields` enabled for cleaner datasets.
- Use `maxReviewsPerProduct` to control spend and avoid oversampling.
- Run separate jobs for different categories to simplify downstream analysis.

### Scheduling and automation ideas

- Daily review delta snapshots per product group
- Weekly competitor quality scorecards
- Monthly category sentiment reports
- Alerts when average rating or sentiment falls below threshold

### FAQ

#### Does this scrape only one product at a time?

No. You can process many products in one run using URLs, IDs, queries, or a mix.

#### Can I use this for TikTok Shop competitor research?

Yes. It is designed for competitor review intelligence workflows.

#### Can I export this to my own dashboard?

Yes. Dataset output is structured for BI and analytics pipelines.

#### Can I run region-specific research?

Yes. Use `searchRegion` to align with your target market context.

#### Is this useful for AI analysis?

Yes. The output is suitable for classification, topic tagging, and LLM workflows.

### Best practices for highest business value

- Prioritize categories where review volume is high and buying intent is clear.
- Track sentiment and star ratings as leading indicators, not just lagging sales.
- Segment by seller and product cluster to spot outliers fast.
- Combine review signals with listing and price monitoring for complete intelligence.

### Compliance and responsible use

Use this Actor in accordance with:

- Applicable laws and regulations
- Data privacy requirements
- Platform and marketplace terms

You are responsible for lawful, ethical, and policy-compliant usage in your jurisdiction.

### Summary

**TikTok Shop Reviews Pro** is a high-utility **TikTok Shop review scraping tool** for teams that need actionable marketplace intelligence, not just raw listing data.
Use it to power **review analytics, sentiment monitoring, competitor benchmarking, and ecommerce growth decisions** with structured, analysis-ready output.

# Actor input Schema

## `queries` (type: `array`):

Optional keywords to discover products before review extraction.

## `productUrls` (type: `array`):

TikTok Shop product URLs to scrape reviews from directly.

## `productIds` (type: `array`):

TikTok Shop product IDs. URLs will be generated automatically.

## `searchRegion` (type: `string`):

Region parameter sent to TikTok Shop (for example: US, GB).

## `maxPagesPerQuery` (type: `integer`):

Maximum search pages to scan per query when discovering products.

## `maxProductsPerQuery` (type: `integer`):

Maximum products to keep from each query for review extraction.

## `maxProductsTotal` (type: `integer`):

Maximum products to process in one run (across all sources).

## `maxReviewsPerProduct` (type: `integer`):

Maximum reviews emitted per product.

## `includeRawReview` (type: `boolean`):

Include original raw review object in output rows.

## `includeRawProduct` (type: `boolean`):

Include raw product context object in output rows.

## `compactNullFields` (type: `boolean`):

Omit null/undefined fields from output items.

## `requestTimeoutSec` (type: `integer`):

HTTP request timeout per page.

## `maxFetchRetries` (type: `integer`):

How many fetch attempts per page before giving up.

## `queryRetryAttempts` (type: `integer`):

How many full retries to run per query on blocked/zero-result attempts.

## `allowDirectRescueOnSoftBlock` (type: `boolean`):

If proxy pages soft-block, try one direct fetch rescue.

## `enableBrowserFallback` (type: `boolean`):

Try a minimal Playwright fetch when challenge/blocked HTML is detected.

## `browserFallbackWaitMs` (type: `integer`):

How long Playwright waits after page load before reading HTML.

## `failOnZeroAfterRetries` (type: `boolean`):

Fail run if zero reviews are emitted after retries.

## `enableReviewPagination` (type: `boolean`):

Fetch additional review pages per product using TikTok Shop's review endpoint.

## `maxReviewPagesPerProduct` (type: `integer`):

Maximum additional review pages to fetch per product when pagination is enabled.

## Actor input object example

```json
{
  "queries": [
    "ergonomic chair"
  ],
  "searchRegion": "US",
  "maxPagesPerQuery": 5,
  "maxProductsPerQuery": 50,
  "maxProductsTotal": 50,
  "maxReviewsPerProduct": 50,
  "includeRawReview": false,
  "includeRawProduct": false,
  "compactNullFields": true,
  "requestTimeoutSec": 30,
  "maxFetchRetries": 3,
  "queryRetryAttempts": 2,
  "allowDirectRescueOnSoftBlock": true,
  "enableBrowserFallback": true,
  "browserFallbackWaitMs": 8000,
  "failOnZeroAfterRetries": false,
  "enableReviewPagination": true,
  "maxReviewPagesPerProduct": 3
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "ergonomic chair"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/tiktok-shop-reviews-pro").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "queries": ["ergonomic chair"] }

# Run the Actor and wait for it to finish
run = client.actor("deepmine/tiktok-shop-reviews-pro").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "ergonomic chair"
  ]
}' |
apify call deepmine/tiktok-shop-reviews-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deepmine/tiktok-shop-reviews-pro"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/eOx7btKVgiegLYrmO/builds/5sFI1c3329J5tHxp6/openapi.json
