How to list a WeChat Official Account's past articles
2 endpoints do it: WeChat Official Account article detail → WeChat Official Account articles. The worked example below is 4 calls and costs $0.0800 in all; a failed call is not charged.
You end up with the articles a WeChat Official Account (公众号) has published, newest first: title, digest, link and time, page after page. All you need to start is the link of one of its articles.
Step 1: WeChat Official Account article detail
Open one article of the account by its link. Besides the title and full text, the answer names the account: author.id is its original ID, starting with gh_, and the next step takes it. Already have the gh_ ID? Skip this step.
curl -G "https://api.dataxapi.com/v1/wechat_mp/articles/get" \ --data-urlencode "url=https://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=2667038683&idx=1&sn=0422127e651acd7f6cf6ef7e1cff04bc" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.wechat_mp.articles.get(url="https://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=2667038683&idx=1&sn=0422127e651acd7f6cf6ef7e1cff04bc") print(result["data"]["item"])
import { DataXAPI } from "@dataxapi/sdk";
const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.wechat_mp.articles.get({ url: "https://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=2667038683&idx=1&sn=0422127e651acd7f6cf6ef7e1cff04bc" });
console.log(result.data.item);dataxapi call wechat_mp.articles.get 'url=https://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=2667038683&idx=1&sn=0422127e651acd7f6cf6ef7e1cff04bc'{
"code": "ok",
"request_id": "ea6d90ba-c743-4de0-b6ee-bf22a76e2d0f",
"data": {
"item": {
"id": "2667741100_1",
"url": "https://mp.weixin.qq.com/s/FeLlyCmjO-KbG27_xPHWlw",
"type": "article",
"title": "周末露营入门指南:一篇讲清楚",
"text": "周末露营这件事,越简单越好",
"published_at": "2026-10-10T09:13:21.000Z",
"author": {
"id": "gh_fd3bca9a4315",
"username": "aya_living",
"name": "认真生活的阿雅",
"avatar_url": "https://wx.qlogo.cn/mmhead/TP60gpehOQj0c0q4rzcuTqqksajtafmfdf2AzWc3/132"
}
}
},
"warnings": [],
"meta": {
"capability": "wechat_mp.articles.get",
"result_status": "complete",
"fetched_at": "2026-10-12T19:03:48.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"lang": "capability",
"author.verified": "capability",
"author.followers": "capability",
"metrics": "capability",
"images": "capability",
"hashtags": "platform",
"mentions": "platform",
"is_pinned": "capability",
"post_id": "platform",
"parent_id": "platform",
"root_id": "platform"
},
"billing": {
"amount": "0.02",
"currency": "USD",
"balance_after": "9.98"
}
}
}From a response recorded 2026-10-12 19:03 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
WeChat Official Account article detail · $0.0200 / a call · Parameters, fields and errors on the endpoint's page →
Step 2: WeChat Official Account articles
List the account's articles by that gh_ ID, newest first. To go further back, send page.next_cursor from one answer as cursor in the next call, until page.has_more is false.
curl -G "https://api.dataxapi.com/v1/wechat_mp/accounts/articles/list" \ --data-urlencode "id=gh_13c97ab93ce8" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.wechat_mp.accounts.articles.list(id="gh_13c97ab93ce8") print(result["data"]["items"])
import { DataXAPI } from "@dataxapi/sdk";
const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.wechat_mp.accounts.articles.list({ id: "gh_13c97ab93ce8" });
console.log(result.data.items);dataxapi call wechat_mp.accounts.articles.list id=gh_13c97ab93ce8
{
"code": "ok",
"request_id": "882b7d3d-9a50-48d1-ba28-513bec440e40",
"data": {
"items": [
{
"id": "2651350693_1",
"url": "https://mp.weixin.qq.com/s/yEmemDFnwYkjLklz1HGeGz",
"type": "article",
"title": "实测一个月周末露营,结论有点意外",
"text": null,
"published_at": "2026-10-12T13:35:48.000Z",
"author": { "id": "gh_baa95f56a86c" }
},
// … 9 more
]
},
"page": {
"next_cursor": "c1.c3D9oI16A0J5E0SMD5JU_mAesJzXbexIUP2nOHbv",
"cursor_expires_at": "2026-10-12T20:02:58.000Z",
"has_more": true,
"returned": 10
},
"warnings": [],
"meta": {
"capability": "wechat_mp.accounts.articles.list",
"result_status": "complete",
"fetched_at": "2026-10-12T19:02:58.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"lang": "capability",
"author.username": "capability",
"author.name": "capability",
"author.avatar_url": "capability",
"author.verified": "capability",
"author.followers": "capability",
"metrics": "capability",
"images": "capability",
"hashtags": "platform",
"mentions": "platform",
"is_pinned": "capability",
"post_id": "platform",
"parent_id": "platform",
"root_id": "platform"
},
"billing": {
"amount": "0.02",
"currency": "USD",
"balance_after": "9.98"
}
}
}From a response recorded 2026-10-12 19:02 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
WeChat Official Account articles · $0.0200 / a call · Parameters, fields and errors on the endpoint's page →
What the example costs
one article's detail to find the account, then three pages of its article list
Prices are the prices in force when this page was built. A failed call, and an object that does not exist, cost nothing.
In your AI (MCP)
Connect DataXAPI to your AI client once. Then say what you want; the agent finds these endpoints, checks the price and calls them on your balance.
{
"capability": "wechat_mp.articles.get",
"url": "https://mp.weixin.qq.com/s?__biz=MjM5MjAxNDM4MA==&mid=2667038683&idx=1&sn=0422127e651acd7f6cf6ef7e1cff04bc",
"idempotency_key": "<a new UUID>"
}Sign in to copy the setup prompt with your keyAbout the MCP server →
With a Skill
Good to know
- A page holds about 10 articles, 20 at most. A cursor works for an hour; after that, start again from the first page.
- The list gives each article's digest in
text, not its whole text, and no counts. Get the full text from the article detail and the reads and likes from the article stats, both by the article'surl. - An article's
idis made of the__biz,midandidxin its long link. The endpoints that read one article take itsurl, not thisid. - A page that comes back empty is charged like any other page. A
gh_ID no account has is answerednot_foundand is not charged.