WeChat Account Articles Scraper — 公众号文章列表 + 翻页 avatar

WeChat Account Articles Scraper — 公众号文章列表 + 翻页

Pricing

$0.06 / actor start

Go to Apify Store
WeChat Account Articles Scraper — 公众号文章列表 + 翻页

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

wang wei

Maintained by Community

Actor 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

GoalActor
Read a single article's full body + metricsWeChat 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

FieldTypeDefaultNotes
usernamestringgh_114e76fd6e5dThree forms: gh_<hex>, gh_<hex>@app, or a custom micro-signal (e.g. nikejdi).
maxPagesint1Auto-pagination cap (1–50). Stops early when upstream returns is_end=1.
itemsPerPageint20Page size hint forwarded to upstream. NOTE: WeChat currently ignores this — actual count is decided by the account itself.
itemShowTypestring"0"0 = articles (default), 5 = videos, 7 = audios, 8 = image-text posts. Empty string falls back to default.
rawstring"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

  • articleId is emitted as a string (per §98 / large integer precision).
  • createTime / updateTime are Unix epoch seconds.
  • covers includes 16:9, 1:1, 235:1 and 3:4 aspect variants from upstream; pick the one that matches your layout.
  • hasMore=false and nextOffset="" means the upstream has no more articles; the Actor stopped automatically.
  • When raw=true, each rawData[i] is the upstream data object for page i+1.

How to run

  1. Console: paste any gh_… username (or use the default gh_114e76fd6e5d) and click Start.
  2. API: apify call wechat-account-articles-scraper -i '{"username":"gh_114e76fd6e5d","maxPages":2}'
  3. 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 pipelineActorConsoleUse it to
step ① profileAccount Profile Scraper…/3JV499ECEjb5un854step ① — fetch the account identity + service type before listing its articles
step ② listing (you are here)Account Articles Scraper…/actorstep ② — list every article published by a given account
step ③ detailArticle Detail Scraper…/5vrr8dBcnclIva0Lxstep ③ — pull the full body + author + publish time for each article URL
search-firstUniversal Search Scraper…/searchsister 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.