Douyin 抖音 Product Search Scraper - Price, Sales & Commission
Pricing
from $7.99 / 1,000 products
Douyin 抖音 Product Search Scraper - Price, Sales & Commission
Search Douyin Shop (抖音商城) products by keyword and extract price, monthly sales, a 30-day sales trend, positive-review ratio, shop name and score, and affiliate commission rate. One row per product in clean JSON, ready for product research, competitor analysis, and affiliate selection.
Pricing
from $7.99 / 1,000 products
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Douyin Product Search Scraper (抖音) | Price, Sales, Commission & Shop Data (2026)
Every Douyin Shop product for a keyword, in clean JSON: price, monthly sales, a 30-day sales trend, positive-review ratio, shop identity and score, and affiliate commission rate. One row per product, ready for product research, competitor analysis, and affiliate selection.

Copy to your AI assistant
zen-studio/douyin-product-search-scraper on Apify. Searches Douyin Shop (抖音商城) products by keyword: one row per product with price (CNY), monthly sales + a 30-day daily sales trend, positive-review ratio, 4-level category, shop name + shop score, affiliate commission rate + cooperating-creator count, tags, plus a full raw passthrough. Call ApifyClient("TOKEN").actor("zen-studio/douyin-product-search-scraper").call(run_input={"keywords":["口红"],"maxResults":100}), then client.dataset(run["defaultDatasetId"]).list_items().items. keywords accepts any product search string (Chinese works best); each keyword searched independently. ~500 products/keyword ceiling, so add more keywords to collect more. PPE: $8.99/1k products, cheaper on Starter/Scale/Business tiers. Token: https://console.apify.com/account/integrations
| Zen Studio · Chinese-platform suite • RedNote (小红书), Douyin (抖音), Xigua (西瓜视频) | |||
|
➤ You are here |
Keyword video search, 60+ fields |
Video metadata, music & MP4s |
Followers, posts & hashtags |
How to Scrape Douyin Products
Basic: one keyword
{"keywords": ["口红"]}
Several keywords, deeper per keyword
{"keywords": ["口红", "零食", "手机壳"],"maxResults": 300}
Everything available for a keyword
{"keywords": ["蓝牙耳机"],"maxResults": 0}
maxResults: 0 collects every product the platform returns for that keyword (around 500). Each keyword is searched independently with its own budget.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string[] | required | One or more product search terms. Chinese works best (e.g. 口红, 零食, 手机壳). Each keyword is searched independently. |
maxResults | integer | 100 | Products to fetch per keyword. 0 = all available (~500 ceiling). Cost scales linearly with the number of products returned. |
There are no sort, price, or time filters: Douyin's product search surface exposes none, so the actor returns products in Douyin's own natural search-rank order (the same order a shopper sees). To collect more, add more keywords.
What Data Can You Extract from Each Douyin Product?
One row per product, in Douyin's natural search-rank order within each keyword. 19 top-level fields, including five rich nested objects (price, sales, category, shop, affiliate) and a full raw passthrough so nothing the platform returns is ever lost.
Identity & media
productId,promotionId: the product's stable IDs.title: full product name.detailUrl: the live Douyin product page (haohuo.jinritemai.com/...).mainImage,whiteImage: primary product photo and the white-background catalogue image.
Price (price)
amount: final price in CNY yuan (e.g.59.0).amountCents: the same price in integer cents (5900), exactly as the platform stores it.label: the price descriptor Douyin shows (e.g.到手价, the landed / final price).
Sales (sales)
monthlySold: units sold in the last 30 days.goodReviewRatio: positive-review percentage.salesTrend: a 30-point daily sales series ([{ "date": "20260610", "units": 49 }, ...]), the velocity curve behind the monthly number.
Category (category)
Douyin's full taxonomy path: first, second, third, fourth (each { id, name }) plus leafLayer (how deep the product is classified). E.g. 彩妆香水 → 唇部彩妆 → 有色唇膏/口红.
Shop (shop)
shopId,shopName: the seller's identity.shopLogo: shop logo image.shopScore: the shop's experience score (e.g.92), surfaced only when the shop has a published score.shopScoreRating: the qualitative rating label (e.g.高/ high).
Affiliate (affiliate)
commissionRatePercent: the affiliate commission rate a creator earns promoting this product.commissionFee: the commission amount in CNY yuan at the current price.cooperatingCreators: how many creators are already promoting it (demand signal).promotionStatus: the product's promotion-program status code.
Tags & status
tags: shopper-facing badges (运费险shipping insurance,现货in-stock,包邮free shipping).tagCodes: the machine-readable codes behind those badges.recommendReason: Douyin's recommendation blurb, when present.productStatus,checkStatus: listing-state codes.
Context & raw
keyword: the search term that surfaced this product.searchPosition: its 1-based rank within that keyword's results.raw: the complete, verbatim product object from the platform, so any field not curated above (and anything the platform adds later) is still in your data.
Output Example
Every top-level field below is present in every row. The salesTrend array and the raw object are trimmed here for readability; production rows carry the full 30-point series and the complete raw object.
{"productId": "3821314999977115743","promotionId": "3821317546850779275","title": "【专柜正品】兰蔻全新菁纯柔润丝缎唇膏196#朱砂橘 1.6g","detailUrl": "https://haohuo.jinritemai.com/ecommerce/trade/detail/index.html?id=3821314999977115743&origin_type=2631","mainImage": "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/jpeg_m_f7eca9511caaf45b1cbe4954b80df2d6_sx_385999_www800-800","whiteImage": "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/jpeg_m_95f656ef1a6a7724475811b80030e4a3_sx_189601_www1500-1500","price": {"amount": 59.0,"amountCents": 5900,"label": "到手价"},"sales": {"monthlySold": 1162,"goodReviewRatio": 88.70967741935483,"salesTrend": [{ "date": "20260607", "units": 67 },{ "date": "20260608", "units": 41 },{ "date": "20260609", "units": 32 },{ "date": "20260610", "units": 49 },"... +26 more daily points"]},"category": {"first": { "id": 1000002395, "name": "彩妆香水" },"second": { "id": 1000002412, "name": "唇部彩妆" },"third": { "id": 1000002526, "name": "有色唇膏/口红" },"fourth": { "id": 0, "name": "" },"leafLayer": 3},"shop": {"shopId": 264515498,"shopName": "桢植专营店","shopLogo": "https://p3-ecom-qualification-sign.ecombdimg.com/tos-cn-i-6vegkygxbk/...image?...","shopScore": 92,"shopScoreRating": "高"},"affiliate": {"commissionRatePercent": 15,"commissionFee": 8.85,"cooperatingCreators": 486,"promotionStatus": 2},"tags": ["运费险", "现货", "包邮"],"tagCodes": ["ActivityInfo", "insurance_freight", "spot_goods", "FreightFree"],"recommendReason": null,"productStatus": 0,"checkStatus": 3,"keyword": "口红","searchPosition": 1,"raw": { "...": "the complete verbatim product object from Douyin" }}
Notes on optional / context-dependent fields:
shopScore/shopScoreRatingarenullfor shops without a published experience score.recommendReasonisnullfor products with no recommendation blurb.tags/tagCodesare empty arrays when a product carries no badges.salesTrendcan be a shorter series for newly listed products.
Image & URL Durability
| Field | Lifespan | Note |
|---|---|---|
productId, promotionId | Permanent | Stable references. Build your pipeline around these. |
detailUrl | Permanent | haohuo.jinritemai.com/...?id=<productId> resolves to the live product page. |
mainImage, whiteImage | Long-lived | Direct catalogue CDN images (*.ecombdimg.com), no signature. |
shopLogo | ~weeks | Signed CDN URL (*-sign.ecombdimg.com); the query string carries the signature. Re-fetch or re-host if you need it long-term. |
The productId and detailUrl are the only truly permanent references. Re-run the actor whenever you need fresh price, sales, and commission figures: every number is fetched live at run time.
Pricing: Pay Per Event (PPE)
You pay per product returned. Apify subscribers get steeper discounts on every tier.
| Free | Starter | Scale | Business | |
|---|---|---|---|---|
| Product (one row in your dataset) | $8.99 / 1k | $8.99 / 1k | $8.49 / 1k | $7.99 / 1k |
Two trivial platform events also fire (apify-actor-start once per run, apify-default-dataset-item once per row at $0.01 / 1,000), covered by the free Apify tier in practice.
Free tier
Every account gets 10 free preview runs, each returning up to 20 products from the first keyword, so you can validate the output shape before committing budget.
FAQ
What is Douyin Shop (抖音商城)? Douyin Shop is the in-app e-commerce marketplace inside Douyin (ByteDance's Chinese short-video platform, the domestic counterpart of TikTok). Creators promote products for affiliate commission, and shoppers buy without leaving the app. This actor searches that catalogue by keyword and returns each product's commercial data.
How many products can I get per keyword?
Around 500. Douyin's product search caps how deep a single keyword goes, so maxResults above ~500 simply returns up to that ceiling. To collect more, add more keywords, each is searched independently.
Can I sort by price or sales, or filter by category / time? No. Douyin's product search surface exposes no sort, price, or time filters, so results come back in Douyin's own natural search-rank order, the same order a shopper sees in the app. The data you need for sorting (price, monthly sales, commission) is in every row, so you can sort and filter downstream.
What does salesTrend contain?
A 30-point daily series of units sold, one point per day for the last ~30 days. It's the velocity curve behind the headline monthlySold number, useful for spotting products that are accelerating versus cooling off.
What is the affiliate commission data for?
commissionRatePercent and commissionFee are what a creator earns for promoting the product through Douyin's affiliate program, and cooperatingCreators is how many creators already promote it. Together they're the core signals for affiliate and influencer-product selection.
Why are prices given twice (amount and amountCents)?
Douyin stores prices as integer cents. amountCents is that exact value (5900); amount is the convenient yuan figure (59.0). Use whichever your pipeline prefers, with no rounding ambiguity.
What's in the raw field?
The complete, verbatim product object exactly as the platform returns it. The 18 curated fields cover the high-value data; raw guarantees that anything not curated (or anything the platform adds later) is still in your dataset. Nothing is dropped.
Which keywords work best?
Chinese product terms (口红, 零食, 手机壳, 蓝牙耳机). The catalogue is a Chinese marketplace, so Chinese keywords return the richest, most relevant results. Brand names and English terms work too, with thinner coverage.
How fresh is the data? Live. Price, sales, commission, and shop score are all fetched on demand at run time. No caching, so re-run whenever you need current figures.
Do I need a Douyin account or cookies? No. Enter keywords and run, no account, login, cookie export, or QR scan involved.
How do I export the data? The dataset downloads as JSON, CSV, Excel, XML, or HTML from the run's Storage tab, or via the Apify API.
Is it legal to scrape Douyin product data? The actor collects publicly available marketplace data only, nothing behind a login. You are responsible for complying with Douyin's terms of service and applicable data protection law (GDPR, CCPA, PIPL) before storing or republishing the data.
More Zen Studio scrapers for Chinese platforms
🎬 Short-video & social
Douyin 抖音
RedNote 小红书
Xigua 西瓜视频
🛒 E-commerce
Taobao 淘宝
JD.com 京东
1688 阿里巴巴
Goofish 闲鱼
🏠 Real estate & autos
Anjuke 安居客
58.com 58同城
Autohome 汽车之家
Support
- Bugs: Issues tab
- Features: Issues tab
Legal Compliance
Extracts publicly available marketplace data from Douyin (抖音). Users must comply with Douyin's terms of service and applicable data protection regulations (GDPR, CCPA, PIPL).
Structured Douyin Shop product data: price, monthly sales, 30-day sales trend, positive-review ratio, shop score, and affiliate commission, for any keyword, in clean JSON.