SMZDM Scraper - 什么值得买 Deals & Search avatar

SMZDM Scraper - 什么值得买 Deals & Search

Pricing

from $10.00 / 1,000 deal scrapeds

Go to Apify Store
SMZDM Scraper - 什么值得买 Deals & Search

SMZDM Scraper - 什么值得买 Deals & Search

Scrape SMZDM (什么值得买): deal feed with prices, malls, brands, historical-low tags and votes, plus keyword search with built-in JS-challenge bypass. Filters for mall, price, category and price drops.

Pricing

from $10.00 / 1,000 deal scrapeds

Rating

0.0

(0)

Developer

Long Li

Long Li

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

SMZDM Deals Scraper - 什么值得买 好价

Scrapes SMZDM (什么值得买, "What's Worth Buying") - China's largest shopping-deal community - straight from its public homepage deal feed API:

  • 💰 Deal feed - latest deals with prices, malls (京东/天猫/拼多多/...), brands, category trees
  • 🔍 Keyword search - query any keyword on SMZDM search (好价 channel); the built-in headless browser clears the site's JS challenge automatically, with residential-proxy retry on the Apify platform
  • 🏷️ Deal intelligence - highlight tags (历史低价, 20天新低, 京东自营), worthy/unworthy votes, sold-out/expired flags
  • 🎯 Server-side filtering - malls, price range, categories, price-drop tags and min votes, all matched before anything is saved
  • 🛒 Buy links - every purchase entrance incl. coupon links, resolved target domains
  • 💬 Comments - per-deal comments with authors, reply chains, IP locations and photos (detail mode)
  • 🔁 Monitoring mode - remembers seen deals across runs, outputs only new ones (perfect for schedules)

Input

FieldDefaultDescription
startUrls[]Specific deal URLs for full detail + comments. When set, search and the feed are skipped.
searchKeywords[]Keywords to search on SMZDM (好价 channel). Search pages need a headless browser (JS challenge) - the actor handles this automatically. When set, the feed is skipped.
searchMaxPages3Result pages per keyword (~20 deals/page).
maxItems100Max deals from the homepage feed (20 per page).
malls[]Keep only deals from these malls. Substring match: 天猫 covers 天猫精选/天猫超市/天猫国际官方直营. Observed: 京东 (90%), 京东全球购, 天猫精选, 天猫超市, 天猫国际官方直营, 拼多多, 唯品会.
categories[]Keep only deals in these categories (substring match on any tree level). Observed: 食品生鲜 (52%), 日用百货, 服饰鞋包, 电脑数码, 运动户外, 家居家装, ...
minPrice / maxPrice0Numeric price bounds in CNY; 0 = unbounded. Setting a bound also drops unpriced posts (~9% of the feed is news).
onlyPriceDropsfalseKeep only deals tagged 历史低价 or any N天新低 variant (~21% of the feed).
requireTags[]Keep only deals carrying at least one of these tags (substring). Frequent: 拼单 (29%), 京东自营 (28%), 每日白菜 (19%), 低于常卖价 (17%), 手慢无.
minWorthy0Min 值得 upvotes. Votes accumulate over hours - best for backfill runs, not fresh monitoring.
minFavorite0Min 收藏 favorites. Favorites track purchase intent (~3.5x stronger than votes); also grows over hours.
dedupeByTitlefalseSkip same-product reposts (~5% of the feed is evergreen deals re-published under new ids; marketing prefixes like 今日必买/值友专享 are stripped before comparing). Remembers titles across runs in monitoring mode.
includeDetailfalseAlso open each deal page for exact price, breadcrumb categories, author and top comments.
maxCommentsPerDeal30Comment cap per deal in detail mode (0 disables).
mallFilter""Legacy single-mall exact filter; prefer malls.
skipSeenItemsfalseOnly output deals not seen in previous runs (incremental monitoring).
maxConcurrency2Parallel requests for detail pages.
proxyConfig-Optional proxy. If SMZDM's WAF blocks the run, residential proxy kicks in automatically.

All filters combine with AND; multiple values inside one list are OR. They apply to feed mode (startUrls mode ignores them). Feed percentages come from a 674-deal sample of the live feed.

Output

Dataset items of two types (itemType field):

deal - dealId, title, url, price, priceText, mall, mallUrl, brand, topCategory, categories[], tags[], imageUrl, buyUrl, buyDomain, buyOptions[], worthyCount, unworthyCount, commentCount, favoriteCount, reporter, authorId, authorName, summary, isSoldOut, isTimeout, publishedTimeText, source

comment (detail mode) - commentId, dealId, dealUrl, text, images[], authorName, authorId, authorUrl, replyTo, createdAt, createdAtText, authorLocation

Example:

{
"itemType": "deal",
"dealId": "183861924",
"title": "今日必买:金典 伊利金典纯牛奶250ml*24盒整箱7月产",
"price": 31.67,
"mall": "京东",
"categories": ["食品生鲜", "水饮冲调", "奶类制品", "常温牛奶"],
"tags": ["手慢无", "历史低价", "价格低于618"],
"worthyCount": 42,
"publishedTimeText": "23:18"
}

How it works

The actor talks directly to SMZDM's public feed endpoint (/homepage/json_more) which returns fully structured JSON - no browser needed, so runs are fast and cheap. Search mode is the exception: search.smzdm.com hides behind a JS challenge, so keyword searches run through a shared headless Chromium that executes the challenge automatically (and retries through the Apify residential proxy when the platform IP gets a captcha interstitial). Search result cards carry the real publish timestamp (publishedAt), unlike feed items whose timesort is request-anchored. Detail pages and comments are server-rendered HTML parsed with battle-tested selectors. The site's WAF is handled by sending browser-like XHR headers and, when challenged, retrying through the Apify residential proxy automatically.

Comment createdAt values are resolved from relative texts ("47分钟前") against scrape time and are therefore approximate; createdAtText always carries the original.

Scrapes publicly available data only, without login. Use responsibly and in line with SMZDM's terms of service.

Changelog

See CHANGELOG.md.