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.

Pricing

$0.06 / actor start

Rating

0.0

(0)

Developer

wang wei

wang wei

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

4

Monthly active users

9 days ago

Last modified

Categories

Share

WeChat Account Articles Scraper

✨ What you get

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 data provider base64 next_offset cursor, with a configurable page cap.

ZH — 抓取任意微信公众号的文章列表。返回标题、摘要、封面、正文链接、发布时间。支持 base64 next_offset cursor 自动翻页,翻页页数可配置。


💼 Use cases

  • Inventorying everything one account has published — point username at a gh_… ID and the Actor walks the account's own listing, returning title, digest, cover, url and createTime per row, so you get the catalog instead of the couple of posts a share dialog exposes.
  • Watching a competitor or KOL for new posts — schedule one run per day per account, as the README suggests, and diff articleId sets between runs to see exactly what shipped since yesterday.
  • Covering accounts that post in more than one format — itemShowType switches the listing between articles (0), videos (5), audios (7) and image-text posts (8), so a mixed-format account does not need a second tool.
  • Feeding clean article URLs into the next step — each row's url plus the covers variants (16:9, 1:1, 235:1, 3:4) drop straight into the detail, comments and metrics Actors, or into your own thumbnail slot.

✅ Who this is for

  • Content and editorial teams — who track a stable set of accounts and want one row per post in a schema that loads into a spreadsheet or BI tool.
  • KOL and partner vetting — where the first question is how much this account actually publishes before anyone signs.
  • Competitor monitoring programmes — that need a repeatable, cursor-paginated listing instead of manual copying out of the WeChat app.
  • Chinese-market SEO and content repurposing — work, where title, digest and publish timestamp are the raw material for an editorial calendar.

❌ Who this is NOT for

  • You need a fixed page size — itemsPerPage is forwarded to the platform but WeChat currently ignores it, and the real count per page is decided by the account, so page length is not yours to control.
  • You only have an account name — the input is the gh_… ID sitting in the __biz parameter of any article link (or a custom micro-signal), never a display name. Start from a keyword with the universal search Actor, then feed the username back here.
  • You want bodies, engagement numbers or comments — this listing is metadata only: no contentText, no read / like / share counts, no comment text. Each of those is a separate call per URL.
  • You are cost-scanning a deep back catalogue — billing is per page fetched, so maxPages=10 is ten billable events and the cap is fifty pages. Budget in pages, not posts, and remember free-tier runs are limited per day.

🚀 Quick start

  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).


📥 Input parameters

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 Data provider returns is_end=1.
itemsPerPageint20Page size hint forwarded to Data provider. 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 Data provider 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

{
"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 Data provider; pick the one that matches your layout.
  • hasMore=false and nextOffset="" means the data provider has no more articles; the Actor stopped automatically.
  • When raw=true, each rawData[i] is the data provider data object for page i+1.

💰 Billing

Charged once per page fetched. Auto-pagination is transparent — maxPages=10 means 10 PPE events. Stopping early on is_end=1 does not charge the unused budget.


📚 Resources

$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, Data provider errors).

✅ unit.js: all assertions passed.
integration.js: 9 scenarios passed.

📜 Notes & caveats

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.