WeChat Channels Video Search Scraper
Pricing
$0.10 / actor start
WeChat Channels Video Search Scraper
EN — Search WeChat 视频号 Channels videos by keyword with duration / sort / time filters. ZH — 视频号视频搜索,按时长/排序/时间筛选。Cursor auto-pagination, video-normalized output with exportId + duration + likeNum. 5 free runs/day.
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 trending 视频号 Channels videos by keyword in 30 seconds. Drop one keyword, filter by duration (short / medium / long), sort by latest or hottest, and pull up to 50 ranked videos with engagement metrics (10万+ like counts), publisher profile, shareable export IDs, and cover images. No login, no captcha, no headless browser.
ZH — 视频号视频搜索 — 一键按关键词 + 时长筛选抓取。 一个关键词,按时长(短视频/中视频/长视频)、排序(最新/最热)筛选,最多 50 条视频(5 页 × ~10),含点赞数(10万+)、发布者资料、可下载的 exportId、封面图。无登录、无验证码、无 headless 浏览器。
Built for influencer discovery, trend monitoring, and competitor intelligence on 视频号 (WeChat Channels) — China's fastest-growing short-video platform inside WeChat. 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
| Filter | Values | EN | 中文 |
|---|---|---|---|
duration | all (default) / short / medium / long | all videos / <5 min / 5-20 min / 20+ min | 不限 / 短视频 / 中视频 / 长视频 |
sort | default / latest / hot | relevance / publish time desc / like count desc | 相关性 / 最新 / 最热 |
publishTime | all / day / week / half_year | all time / 24 h / 7 d / 6 mo | 不限 / 24小时内 / 7天内 / 半年内 |
Other inputs:
keyword(1-100 chars, e.g.美食,健身,跨境电商)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": "美食","duration": "short","sort": "latest","publishTime": "all","maxPages": 3,"cursor": "","raw": "false"}
Output
Each pushed item is a normalized Channels video row keyed by 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"}
exportId outlives a search page — pass it to the upstream fetch_video_detail endpoint to download the actual video media. likeNum is kept as a string to preserve Chinese unit formatting like 10万+.
The run also writes a SUMMARY to the Key-Value Store with pushed / pagesFetched / nextCursor / hasMoreInSource / tier / runsToday / dailyLimit / startedAt / finishedAt — use nextCursor on the next run for resumable pagination.
Use cases
- Influencer discovery (视频号) / KOL 调研: filter by
duration=short+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. - Competitor intelligence / 竞品监控: track competitor 视频号 accounts' video cadence and engagement metrics.
- Short-video sourcing for cross-border e-commerce / 跨境电商短视频素材: collect
exportIdfor top-performing videos in your category, then download and repurpose. - Long-form content (视频号 > 5 min) market mapping / 长视频赛道调研: filter by
duration=medium|longto find Channels' longer creators, an under-mapped segment.
Pagination
The Actor auto-paginates via the upstream cursor + continue_flag envelope. Set maxPages (1-5) to cap requests per run (5 pages ≈ 50 videos). 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-channels-video-search-scraper -i '{"keyword": "美食", "duration": "short", "sort": "latest"}'
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 — WeChat universal search
For full WeChat ecosystem search (公众号 / 视频号 / 文章 / 账号) across 18 business_type filters, see the sister Actor:
→ WeChat Universal Search Scraper — same keyword, broader vertical coverage without the duration filter.
Tests
$npm test
Runs 17 unit assertions (input validation, request body shape, video normalization) plus 6 integration scenarios (mock fetch drives the full run() flow against captured upstream fixtures).
✅ unit.js: 17 assertions passed.✅ integration.js: 6 scenarios passed.
Notes on upstream behavior
- Channels video items always have the same shape / 视频号视频 shape 固定:
docID/exportId/hashDocID/duration/image/jumpInfo/likeNum/pubTime/source/title. - 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. exportIdis the durable handle / exportId 是稳定句柄: it outlives any single search page and can be passed to the upstreamfetch_video_detailendpoint for actual media download.
Changelog
See ./CHANGELOG.md.
License
Apache-2.0