WeChat Account Articles Scraper — 公众号文章列表 + 翻页
Pricing
$0.06 / actor start
WeChat Account Articles Scraper — 公众号文章列表 + 翻页
EN — Fetch a paginated article list from a WeChat Official Account by username: title, digest, cover, content url, create_time. Auto-paginates using base64 next_offset up to maxPages. Free users: 5 runs/day. ZH — 公众号文章列表抓取:标题/摘要/封面/正文链接/发布时间。支持 base64 cursor 翻页, 单次最多 maxPages 页。
Pricing
$0.06 / actor start
Rating
0.0
(0)
Developer
wang wei
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
WeChat Account Articles Scraper
EN — Fetch a paginated article list from any WeChat Official Account (公众号). Returns title, digest, cover, content URL and create_time for every article. Supports auto-pagination using the upstream base64 next_offset cursor, with a configurable page cap.
ZH — 抓取任意微信公众号的文章列表。返回标题、摘要、封面、正文链接、发布时间。支持 base64 next_offset cursor 自动翻页,翻页页数可配置。
When to use this Actor
| Goal | Actor |
|---|---|
| Read a single article's full body + metrics | WeChat Article Detail Scraper |
| Read a public account profile (nickName, IP region, original article count) | WeChat Account Profile Scraper |
| List every article on a public account (this Actor) | — |
| Search across all of WeChat (universal search) | WeChat Universal Search Scraper |
Input
| Field | Type | Default | Notes |
|---|---|---|---|
username | string | gh_114e76fd6e5d | Three forms: gh_<hex>, gh_<hex>@app, or a custom micro-signal (e.g. nikejdi). |
maxPages | int | 1 | Auto-pagination cap (1–50). Stops early when upstream returns is_end=1. |
itemsPerPage | int | 20 | Page size hint forwarded to upstream. NOTE: WeChat currently ignores this — actual count is decided by the account itself. |
itemShowType | string | "0" | 0 = articles (default), 5 = videos, 7 = audios, 8 = image-text posts. Empty string falls back to default. |
raw | string | "false" | false = omit raw upstream payload (smaller dataset); true = attach rawData[] (one entry per page). |
How to find the username
You usually get a username from an article URL. The user_name is the __biz query parameter in any https://mp.weixin.qq.com/s/... link. For example:
https://mp.weixin.qq.com/s?__biz=MzIzNjc1NzUzMw==&mid=2247923517&idx=1&sn=...^^^^^^^^^^^^^^^^^^^^^^this base64 decodes to the gh_<hex> form
Or use the WeChat Article Detail Scraper — the output's userName field is exactly the value you pass into this Actor.
Output (one row per Actor run)
{"username": "gh_114e76fd6e5d","bizUsername": "gh_114e76fd6e5d","hasMore": false,"nextOffset": "","totalFetched": 23,"pagesFetched": 2,"itemShowType": 0,"articles": [{"articleId": "2247923517","idx": 1,"title": "被英伟达点名的杭州团队,补上了AI for Science的「最后一公里」","digest": "从想法到结果,一次对话实现","url": "http://mp.weixin.qq.com/s?__biz=...&mid=2247923517&idx=1&sn=...","cover": "https://mmbiz.qpic.cn/.../640?wxtype=jpeg","covers": {"ratio16_9": "https://mmbiz.qpic.cn/.../640?wxtype=jpeg","ratio1_1": "https://mmbiz.qpic.cn/.../300?wxtype=jpeg","ratio235_1": "https://mmbiz.qpic.cn/.../300?wxtype=jpeg","ratio3_4": "https://mmbiz.qpic.cn/.../540?wxtype=jpeg"},"createTime": 1789519199,"updateTime": 1789526559,"isPaid": 0,"isPaySubscribe": 0,"itemShowType": 0,"itemShowTypeLabel": "article","msgType": 9,"picCount": 0,"sourceUrl": null}],"collectedAt": "2026-09-16T12:00:00.000Z"}
Field notes
articleIdis emitted as a string (per §98 / large integer precision).createTime/updateTimeare Unix epoch seconds.coversincludes 16:9, 1:1, 235:1 and 3:4 aspect variants from upstream; pick the one that matches your layout.hasMore=falseandnextOffset=""means the upstream has no more articles; the Actor stopped automatically.- When
raw=true, eachrawData[i]is the upstreamdataobject for pagei+1.
How to run
- Console: paste any
gh_…username (or use the defaultgh_114e76fd6e5d) and click Start. - API:
apify call wechat-account-articles-scraper -i '{"username":"gh_114e76fd6e5d","maxPages":2}' - Schedules: schedule once per day per account to monitor new posts.
Free users: 5 runs/day. Paid users: charged 1 PPE event per page fetched (account-articles-result).
Use it together with the other WeChat Actors
| Where in the pipeline | Actor | Console | Use it to |
|---|---|---|---|
| step ① profile | Account Profile Scraper | …/3JV499ECEjb5un854 | step ① — fetch the account identity + service type before listing its articles |
| step ② listing (you are here) | Account Articles Scraper | …/actor | step ② — list every article published by a given account |
| step ③ detail | Article Detail Scraper | …/5vrr8dBcnclIva0Lx | step ③ — pull the full body + author + publish time for each article URL |
| search-first | Universal Search Scraper | …/search | sister Actor — discover accounts by keyword, then feed their userName back into this Actor |
You are here: Account Articles Scraper (step ②) — run it to inventory everything an account has published.
Pricing
Charged once per upstream page fetched. Auto-pagination is transparent — maxPages=10 means 10 PPE events. Stopping early on is_end=1 does not charge the unused budget.
Tests
$npm test
Runs unit assertions (input validation, body shape, normalize across raw=true / raw=false, simplified / raw article shapes, multi-page aggregation) plus 9 integration scenarios (mock fetch drives the full run() flow including pagination, free-tier gating, upstream errors).
✅ unit.js: all assertions passed.integration.js: 9 scenarios passed.