WeChat Universal Search Scraper
Pricing
$0.10 / actor start
WeChat Universal Search Scraper
EN — Search WeChat ecosystem (公众号 / 视频号 / 文章 / 账号) by keyword. 18 business_type filters, cursor auto-pagination, normalized output with large IDs preserved as strings. 5 free runs/day. ZH — 微信「搜一搜」综合搜索 — 公众号·视频号·文章·账号 一键抓取,18 个 business_type 筛选,cursor 自动翻页,大整数 ID 全保 string。
Pricing
$0.10 / actor start
Rating
0.0
(0)
Developer
wang wei
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
EN — Find WeChat content across 公众号 / 视频号 / 文章 / 账号 in 30 seconds. Drop one keyword, get up to 50 ranked results (5 pages × ~10) with engagement metrics (likes, comments, duration), publisher profile, shareable URLs, and cover images. No login, no captcha, no headless browser.
ZH — 微信「搜一搜」综合搜索 — 公众号·视频号·文章·账号 一键抓取。 一个关键词,最多 50 条结果(5 页 × ~10),含点赞数/评论/时长、发布者资料、可分享链接、封面图。无登录、无验证码、无 headless 浏览器。
Built for cross-border e-commerce sourcing, influencer discovery, trend monitoring, and KOL prospecting on WeChat — China's #1 super-app with 1.3 billion monthly users. Output exports as JSON / CSV / Excel — pipe directly into your CRM, BI tool, or another Apify Actor.
5 free runs / day — no API key required. Open on Apify Console, drop a keyword, get results in 30 seconds.
What you can search
businessType | What you get | EN | 中文 |
|---|---|---|---|
all (default) | All verticals mixed | All | 综合 |
account | 公众号 / 服务号 / 视频号 accounts | Accounts | 公众号账号 |
article | 公众号 articles | Articles | 公众号文章 |
video | 视频号 Channels videos | Videos | 视频号视频 |
sticker | 表情 stickers | Stickers | 表情包 |
underline / encyclopedia / live_stream / comment / listen / news / photos / book / moments / image / mini_game / weixin_index / ai_search | (TikHub documents these verticals but they currently return empty due to server-side geographic / account gating) | — | 实测空 |
All inputs also support:
keyword(1-100 chars, e.g.美食,人民日报,跨境电商)sort:default(relevance) /latest/hotpublishTime:all/day(24 h) /week(7 d) /half_year(6 mo)maxPages: 1-5 pages, default 3 (cost control)cursor: opaque token from a previous run'sSUMMARY.nextCursorfor resumable paginationraw: include the unprocessed upstreamdataenvelope on each pushed item (off by default)
Input
{"keyword": "美食","businessType": "video","sort": "default","publishTime": "all","maxPages": 3,"cursor": "","raw": "false"}
Output
Each pushed item is a normalized row keyed by businessType + docId (string — base64 may exceed JS Number safe range):
{"keyword": "美食","page": 1,"rank": 1,"businessType": "video","businessTypeRaw": 7,"docId": "finderobjv0iGrW2Ju7cmIl5Q2m0E","exportId": "export/UzFfAEDovIKb9q9zJ4...","hashDocId": "17711004180000001","feedNonceId": "1717...","title": "家常菜快手菜...","titleRaw": "...<em class=\"highlight\">美食</em>...","coverUrl": "https://wx.qlogo.cn/...","duration": "03:42","pubTime": 1757365200,"dateLabel": "2小时前","likeNum": "10万+","source": {"name": "刘小妹正餐","iconUrl": "https://wx.qlogo.cn/...","verified": true},"collectedAt": "2026-09-09T00:00:00Z"}
Article-shaped items add docUrl (公众号原文链接) and description; account-shaped items add description (account intro) and use coverUrl = iconUrl. The businessTypeRaw integer field echoes the upstream business_type code so you can route / segment downstream (7 = video, 2 = article, 33554499 = account — the actual upstream magic number, not 14).
The run also writes a SUMMARY to the Key-Value Store with pushed / pagesFetched / nextCursor / businessTypeRaw / hasMoreInSource / tier / runsToday / dailyLimit / startedAt / finishedAt — use nextCursor on the next run for resumable pagination.
Use cases
- Cross-border e-commerce sourcing / 跨境电商内容监控: find 公众号 + 视频号 KOLs posting about your category, capture
exportId(video) ordocUrl(article) to download the media, push to your CRM. - Influencer discovery (视频号) / KOL 调研: filter by
businessType=video+publishTime=weekto surface emerging Channels creators before they saturate. - Trend monitoring / 舆情追踪: run daily with the same keyword, diff
docIdsets between runs to spot new entrants. - Brand monitoring / 品牌账号监测: track 公众号 articles mentioning your brand or product category, paginate via
nextCursor. - Account prospecting / 公众号账号挖掘:
businessType=accountreturns account metadata + icon, ideal for building a target publisher list.
Pagination
The Actor auto-paginates via the upstream cursor + continue_flag envelope. Set maxPages (1-5) to cap requests per run (5 pages ≈ 50 items). To resume a previous run, copy SUMMARY.nextCursor from the previous run into cursor on the next run.
maxPages | Items per run (avg) | Cost control / 成本控制 |
|---|---|---|
| 1 | ~10 | smoke test / 冒烟测试 |
| 3 (default) | ~30 | sweet spot / 推荐值 |
| 5 | ~50 | hard cap (cost & quota safety) |
Quick start
Open the Actor on Apify Console, fill in keyword (e.g. 美食), click Start. Results land in the Dataset tab in ~30 seconds.
Want to run from the CLI?
$apify call wechat-universal-search-scraper -i '{"keyword": "美食", "businessType": "video"}'
The upstream API key is wired into the Actor — no Secrets tab setup, no env vars to set. Apify free users get 5 runs / day.
Sister Actor — Channels video search
For 视频号 Channels-only video search with duration filter (short / medium / long) and sort (latest / hottest), see the sister Actor:
→ WeChat Channels Video Search Scraper — same keyword, dedicated video endpoint with time / length filters.
Tests
$npm test
Runs 23 unit assertions (input validation, request body shape, normalization across video / article / account shapes) plus 7 integration scenarios (mock fetch drives the full run() flow against captured upstream fixtures).
✅ unit.js: 23 assertions passed.✅ integration.js: 7 scenarios passed.
Notes on upstream behavior
- business_type is an integer code per upstream / business_type 是上游整数代码:
7= video (视频号),2= article (公众号文章),33554499= account (the actual upstream magic number — TikHub's docs mention14for account but the live API returns33554499). The Actor accepts the upstream's code verbatim and exposes it asbusinessTypeRaw; the matchedbusinessTypestring comes from your input. - 13 verticals return empty pages / 13 个分类返空: TikHub documents 18
business_typevalues but only 5 (all/account/article/video/sticker) currently return real results; the other 13 are server-side gated by geography / account. The Actor exposes all 18 perAGENTS-apify-archive.md §40(open enum = no surprises). - 30-second hard timeout / 30 秒硬超时: TikHub documents that the upstream takes up to 30 s. The Actor enforces this with
AbortController+ exponential backoff (3 retries: 500 ms / 1 s / 2 s). - Large integer IDs preserved as string / 大整数 ID 保 string:
docIDis base64,hashDocIDis a 19-digit number,likeNumincludes Chinese units like10万+. All kept as strings to avoid JS Number precision loss.
Changelog
See ./CHANGELOG.md.
License
Apache-2.0