Douyin Product Search Scraper - 抖音商城 by Keyword avatar

Douyin Product Search Scraper - 抖音商城 by Keyword

Pricing

from $9.00 / 1,000 product founds

Go to Apify Store
Douyin Product Search Scraper - 抖音商城 by Keyword

Douyin Product Search Scraper - 抖音商城 by Keyword

Search Douyin Shop (抖音商城) products by keyword for China ecommerce research and affiliate selection. Each product row has title, price, sales, shop, image and detail URL.

Pricing

from $9.00 / 1,000 product founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

7

Monthly active users

15 days ago

Last modified

Share

What is Douyin Product Search Scraper - 抖音商城 by Keyword?

Douyin Product Search Scraper searches Douyin Shop (抖音商城) by product keyword and returns one dataset row per public product listing. Each row includes the product ID, title, price in yuan, monthly sales when shown, shop name and score, buyer tags, main image, the haohuo.jinritemai.com detail URL and the product's position in the search results. Cross-border sellers, China ecommerce analysts, affiliate marketers and AI agents use it to research demand and compare competing products for Chinese keywords, with no Douyin login.

Why sellers and analysts use this Douyin Shop scraper

  • Keyword in, listings out. Send Chinese product keywords such as 口红, 零食 or 手机壳 in searchQueries.
  • Price and demand together. priceAmount, priceLabel and monthlySold sit on the same row for quick comparisons.
  • Shop context. shopId, shopName and shopScore show who sells each product.
  • Affiliate signals. commissionRatePercent and goodReviewRatio are included when Douyin shows them on the listing.
  • Search rank. searchPosition records where each product ranked for its keyword.
  • Cost-bounded runs. maxResults caps both the rows and the billed product events.

Best fit for China Douyin Shop product research by keyword: checking price bands for a category, finding top-selling SKUs, or shortlisting products for affiliate promotion. It is designed for product listings; Douyin videos, creators and comments, and the global TikTok Shop, each have their own Actors.

Example workflow: from a keyword to a product shortlist

A cross-border cosmetics seller starts with searchQueries set to ["口红", "唇釉"] and maxResults set to 40. The dataset returns each listing's title, priceAmount, monthlySold, shopName, shopScore and detailUrl. They sort by monthlySold, compare price bands between the two keywords, and export the top products to a sourcing sheet. A weekly schedule with the same input shows which products climb in searchPosition over time.

How to search Douyin Shop products

  1. Add one or more Chinese keywords in Product search keywords.
  2. Set Max products per run.
  3. Click Start, then export the dataset as JSON, CSV or Excel, or read it through the API.

Input

{
"searchQueries": ["口红"],
"maxResults": 5
}
FieldTypeWhat it controls
searchQueriesarrayRequired. Douyin Shop product keywords, searched one by one. Up to 20 unique keywords.
maxResultsintegerUnique product rows across all keywords, from 1 to 200. Default 50.
proxyConfigurationobjectOptional proxy override. The default route uses Asian residential proxies.
diagnosticModebooleanOwner troubleshooting mode. Keep false for normal runs.

Output

One dataset row per public Douyin Shop product listing.

FieldWhat it contains
productId, promotionIdDouyin Shop product ID and promotion ID
titlePublic product title
detailUrlhaohuo.jinritemai.com product detail link
mainImagePrimary product image URL
priceAmount, priceCents, priceLabelPrice in yuan, price in fen, and the buyer-facing price label
monthlySoldPublic sales counter when shown
goodReviewRatioPositive-review percentage when shown
shopId, shopName, shopScoreSeller shop ID, name and experience score
tagsBuyer tags such as 包邮
commissionRatePercentAdvertised affiliate commission when shown
searchKeyword, searchPositionKeyword and rank within its results
scrapedAtCollection time
provider, proxyTier, proxyCountryRoute metadata for troubleshooting

Example row shape:

{
"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/example.jpg",
"priceAmount": 59.0,
"priceCents": 5900,
"monthlySold": 1162,
"shopName": "桢植专营店",
"shopScore": 92,
"tags": ["包邮"],
"searchKeyword": "口红",
"searchPosition": 1,
"scrapedAt": "2026-09-22T00:00:00.000Z"
}

Sales, review ratio and commission fields appear when Douyin includes them on the public listing. Advertised commission is a listing value, not a revenue forecast. Each run also writes an OUTPUT record whose outcome tells you whether products were found (COMPLETE), the keyword had no public matches (VALID_EMPTY), or Douyin search was unavailable (UPSTREAM_FAILED).

Pricing

This Actor uses Pay per event plus Apify platform usage. You pay one Product found event for each product row saved to the dataset and one Actor Start event per run. Platform usage, including residential proxy traffic, is billed separately by Apify. Runs that save no products are charged no Product found events.

Worked example in words: a run for one keyword with maxResults set to five that saves five products costs five Product found events plus one Actor Start event, plus platform usage. Check the live Pricing tab on this page for current event prices.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~douyin-product-search-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["口红"], "maxResults": 5}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/douyin-product-search-scraper").call(run_input={
"searchQueries": ["零食", "手机壳"],
"maxResults": 20,
})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["searchKeyword"], product["title"], product["priceAmount"], product["monthlySold"])

Use with AI agents (MCP)

Connect the Actor to Claude, ChatGPT, Cursor or any MCP client through Apify MCP and ask:

Search Douyin Shop for 口红 and return the top 5 products with title, price in yuan, monthly sales, shop name and detail link.

The agent passes the keyword in searchQueries with a small maxResults, reads the rows back from the dataset, and checks OUTPUT.outcome before summarizing. Each row keeps detailUrl, searchPosition and scrapedAt for citation, and maxResults sets the cost scope up front.

Best results

Starting situationHelpful actionExpected outcome
An English brand nameUse the Chinese product noun, for example 口红 for lipstickRicher public listings
A quick market probeStart with maxResults set to 5A small, low-cost sample
Several categoriesAdd each keyword as a separate entry in searchQueriesRows tagged by searchKeyword
Affiliate researchFilter rows that include commissionRatePercentProducts with published commission
Image reuseDownload mainImage soon after the runFresh CDN links
An empty result for a niche termTry a broader category keywordMore listings to compare

Builder's note

I built this Actor around the product data Douyin's own search page loads in a real browser session, rather than recreating signed requests, because that keeps the rows aligned with what shoppers see. I designed the output so price, sales and shop sit on one flat row, which is how sellers compare products in a spreadsheet. I kept affiliate and sales fields optional because Douyin shows them for some listings and hides them for others.

FAQ

Do I need a Douyin account?

No. The Actor reads public Douyin Shop search listings without login.

Which keywords work best?

Chinese product nouns such as 口红, 零食 or 手机壳.

Does it cover TikTok Shop?

This Actor covers China's Douyin Shop. Use TikTok Shop Scraper for the global TikTok Shop.

Why do some rows lack sales or commission?

Douyin shows those values on some listings only, so the fields are null when the listing omits them.

Responsible use

This Actor collects public Douyin Shop listing data. Use it in line with Douyin's terms and applicable laws, including China's PIPL where relevant, and your own compliance policy. Douyin is a trademark of its owner; this independent Actor is not affiliated with or endorsed by Douyin or ByteDance.