Douyin Shop Scraper — Products, Search, Reviews
Pricing
from $2.00 / 1,000 product comment results
Douyin Shop Scraper — Products, Search, Reviews
Scrape Douyin Shop (抖音商城) into clean structured datasets — keyword product search, deep product details with SKUs and images, and customer reviews with ratings and photos. Three operations in one actor. No account, no API key, no setup.
Pricing
from $2.00 / 1,000 product comment results
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Douyin Shop Scraper — Products, Search, Reviews 🚀
🎉 The dataset layer for Douyin Shop (抖音商城) — products, reviews, and search in one clean output
Built for dropshippers, brand analysts, and China-market researchers who need video-commerce intelligence at scale
📋 Overview
Tap into China's fastest-growing video-commerce platform — Douyin Shop (抖音商城), the in-app marketplace inside Douyin (China's TikTok), powering billions in GMV from short-video and livestream commerce.
Why thousands of professionals choose us:
- ✅ Three operations, one actor: Keyword search, deep product details, and customer reviews — no juggling tools
- ⚡ Engagement signals included: Sales counts, comment counts, ratings, and photo evidence in every row
- 🎯 SKU-level depth: Full variant matrix, image gallery, video previews, and shop metadata on every product
- 💰 Transparent per-result pricing: Pay only for successful rows; failed lookups never charged
- 💎 Review intelligence: 3-axis ratings, reviewer profile, purchased SKU, and photo URLs decoded from Douyin's nested response
- ✨ NEW: Picture-perfect Chinese keyword support — search in 中文 returns the richest result sets
✨ Features
- 🔍 Keyword Product Search — Surface trending Douyin Shop SKUs by Chinese or English keyword, 10 results per page
- 🛍️ Deep Product Detail — SKU variants, full-resolution image galleries, video previews, button text, shop info
- 💬 Customer Review Mining — 20 reviews per page with star ratings, photos, reviewer handles, and purchased SKU
- 📈 Engagement Metrics — Live
salesCount,commentCount, and shop reach signals on every product row - 🏪 Shop & Brand Intelligence — Shop name, shop ID, and shop logo on every product for competitor mapping
- 🎬 Video Preview URLs — Direct links to Douyin Shop product videos for creative analysis
- 🇨🇳 Native Chinese Keyword Support — Best results when querying in 中文 (try 口红, 手机, 茅台)
- 🧾 CNY Yuan Price Normalization — Order snapshot prices auto-converted from cents to yuan for clean analytics
- 📦 Clean Dataset Output — JSON, CSV, Excel — export-ready columns, no parsing required
🎬 Quick Start
Pick one operation, give it a keyword or a productId, and run. Every row lands in the Apify dataset with both the curated camelCase fields and the raw upstream payload.
curl -X POST https://api.apify.com/v2/acts/sian.agency~douyin-shop-scraper/runs?token=YOUR_TOKEN \-H "Content-Type: application/json" \-d '{"operation": "searchItem", "keyword": "口红", "maxPages": 1}'
🚀 Getting Started (3 Simple Steps)
Step 1: Pick your operation
Choose Product Search, Product Detail, or Product Comments from the dropdown.
Step 2: Provide the input
Keyword (for Search) or itemId (for Detail / Comments). Set maxPages for paginated ops.
Step 3: Run and download
Hit Start. In under a minute, your dataset is ready in JSON, CSV, or Excel.
That's it! In ~60 seconds, you'll have:
- Trending product SKUs with sales + comment counts
- Full SKU variants, images, and shop metadata
- Customer reviews with star ratings and photos
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| operation | enum | Yes | searchItem, itemDetail, or itemComments |
| keyword | string | If searchItem | Search query — Chinese gives best results (e.g. 口红, 手机) |
| itemId | string | If itemDetail / itemComments | Douyin Shop product ID (19-digit numeric) |
| maxPages | integer | No | Max pages for paginated ops (default 5, range 1–50) |
Example — Product Search:
{"operation": "searchItem","keyword": "口红","maxPages": 3}
Example — Product Detail:
{"operation": "itemDetail","itemId": "3715537304073404545"}
Example — Product Comments:
{"operation": "itemComments","itemId": "3715537304073404545","maxPages": 5}
💡 Tip on prices: Douyin Shop masks raw prices on the Product Detail endpoint as an anti-scraping countermeasure (
priceMasked: true). Use Product Search to capture real-world price signals and engagement, then drill into Detail for SKU variants, images, and shop metadata.
📤 Output
Results are saved to the Apify dataset with 40+ fields including:
| Field | Type | Description |
|---|---|---|
| productId | string | Douyin Shop product ID |
| productTitle | string | Product display title |
| displayPrice | string | Price as shown on Douyin Shop (masked on Detail) |
| priceMasked | boolean | True when upstream returns ? placeholder |
| salesCount | number | Lifetime units sold |
| commentCount | number | Total customer reviews on this product |
| shopId | string | Seller shop ID |
| shopName | string | Seller shop name |
| shopLogo | string | Seller shop logo URL |
| thumbImage | string | Primary thumbnail URL |
| imageList | array | Full gallery image URLs |
| videoList | array | Product video preview URLs |
| sellPoints | array | Marketing bullet points (Chinese) |
| tags | array | Category/feature tags |
| skuInfo | object | SKU variant matrix |
| reviewRating | number | Per-comment 5-star rating |
| reviewText | string | Review body |
| reviewImages | array | Customer-uploaded photo URLs |
| reviewerName | string | Reviewer handle |
| reviewOrderSkuPrice | number | Purchased SKU price in CNY yuan |
| reviewProductName | string | Decoded product name from review payload |
Example row (truncated):
{"operation": "searchItem","productId": "3715537304073404545","productTitle": "口红礼盒套装","displayPrice": "¥89","salesCount": 12480,"commentCount": 3421,"shopId": "78001234","shopName": "美妆旗舰店","thumbImage": "https://...","videoList": ["https://..."],"sellPoints": ["顺丰包邮", "正品保障"],"scrapedAt": "2026-05-15T14:38:22.000Z"}
💼 Use Cases & Examples
1. Dropshipping Product Sourcing
Dropshippers and DTC brands hunting trending SKUs on Douyin Shop
Input: Keyword like 美妆, 手机壳, or 茅台 Output: Top SKUs ranked by sales + comment count, with shop info and video previews Use: Validate product-market fit before launching on Shopify, Amazon, or TikTok Shop
2. Brand & Competitor Intelligence
Analysts mapping a competitor's presence across 抖音商城
Input: Brand-name keyword, then drill into each product's shopId
Output: Shop coverage, SKU breadth, pricing tiers, customer sentiment
Use: Build competitor dashboards, identify pricing gaps, monitor new launches
3. Customer Review Mining
UX researchers and brand managers extracting voice-of-customer at scale
Input: Product itemId
Output: 20 reviews per page with star ratings, photos, purchased SKU, and full text
Use: Power sentiment analysis, identify quality complaints, surface viral product moments
4. China-Market Video-Commerce Research
Market researchers tracking China's video-commerce trends
Input: Category keywords (服装, 食品, 美妆) across daily scheduled runs Output: Time-series of trending SKUs, shops, and engagement signals Use: Quarterly trend reports, investor briefings, GMV forecasting
5. Aggregator & Comparison Catalogs
Product comparison sites and price aggregators building Chinese-market catalogs
Input: Long keyword lists run in parallel Output: Normalized product rows with SKU, images, shop, and engagement Use: Populate comparison engines, affiliate catalogs, or B2B sourcing platforms
6. Influencer & KOL Marketing
Influencer marketers identifying KOL-driven hot products on Douyin Shop
Input: Trending hashtag-style keywords or shop IDs from creator partnerships Output: Products with sales velocity + review signals tied to creator campaigns Use: ROI tracking for KOL deals, identify breakout SKUs, brief future campaigns
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/douyin-shop-scraper').call({operation: 'searchItem',keyword: '口红',maxPages: 3,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/douyin-shop-scraper').call(run_input={'operation': 'itemComments', 'itemId': '3715537304073404545', 'maxPages': 5})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~douyin-shop-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "itemDetail", "itemId": "3715537304073404545"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule daily, or webhook from a Notion/Airtable keyword list
- HTTP Request: Call the actor API with operation + keyword/itemId
- Process: Parse JSON rows; join
productIdto your warehouse table - Action: Push to BigQuery, Snowflake, or a Slack alert on new top SKUs
📊 Performance & Pricing
FREE Tier (Try It Now)
- Generous starter allowance — full feature access, every operation, no credit card
- Same data quality as PAID, same Chinese keyword coverage
- Perfect for prototyping, single-product audits, or evaluating fit
PAID Tier (Production Ready)
- Unlimited rows per run across all three operations
- Faster processing, priority routing, no soft caps
- Pay-per-result: charged only for successful rows — failed lookups are free
💰 Transparent pricing — search rows are the cheapest (the headline rate); deep product details are priced higher to reflect the SKU-level richness; comments sit between the two.
❓ Frequently Asked Questions
Q: Why are prices showing as ? on Product Detail rows?
A: Douyin Shop masks raw prices on its product detail endpoint as an anti-scraping countermeasure. Use Product Search rows for real price signals — displayPrice is populated there. The priceMasked: true flag tells you when this is happening.
Q: How do I get a product itemId?
A: Run a Product Search first — every result row contains productId. You can also extract it from any Douyin Shop product URL.
Q: Does it work with English keywords? A: Yes, but Chinese keywords (中文) return far richer result sets — Douyin Shop is a China-domestic marketplace. Try 口红, 手机, or 茅台 for the cleanest demos.
Q: How many reviews per product?
A: Up to 20 per page, paginated. Set maxPages to fetch up to 1,000 reviews per product.
Q: What output formats are available? A: JSON, CSV, Excel, XML, RSS — export directly from the Apify dataset.
Q: Is this legal? A: We only extract publicly available product and review data. See the legal section below.
Q: How long does a typical run take? A: Single product detail: ~2 seconds. 5 pages of search results: ~15 seconds. 10 pages of comments: ~25 seconds.
🐛 Troubleshooting
Empty result set on searchItem
- Try the Chinese form of your keyword (中文 returns more rows)
- Lower-volume English keywords sometimes return zero results — switch to a related Chinese term
priceMasked: true on every Product Detail row
- This is by design — Douyin Shop's anti-scrape behavior. Run Product Search for the same
productIdto capture the realdisplayPrice
Run errors with code 301 ("FAILED, RETRY")
- Transient upstream hiccup — retry the run. Built-in backoff usually resolves it inside the same run.
Comment rows missing reviewProductName
- Some reviews omit the embedded product snapshot. The base review fields (rating, text, photos) are always present.
⚠️ Trademark Disclaimer
This is an independent scraping tool. It is not affiliated with, endorsed by, or sponsored by Douyin, ByteDance Ltd., Jinritemai (抖音电商), or any of their subsidiaries. The names Douyin®, 抖音®, and 抖音商城® appear under nominative fair use solely to identify the public platform whose openly visible product data this tool extracts. All trademarks remain the property of their respective owners.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools