# WeChat Articles Scraper (`parseforge/wechat-articles-scraper`) Actor

Search WeChat Official Account articles by keyword and get the full article: title, account, author, publish date, cover, images and complete text. No login. Export to CSV, JSON, Excel or XML.

- **URL**: https://apify.com/parseforge/wechat-articles-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Social media, News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 article scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📰 WeChat Articles Scraper

> 🚀 **Export WeChat Official Account articles with the full text in seconds.** Type a keyword, in Chinese or English, and get back every matching article as one row: title, account name and account ID, author, exact publish time, cover image, digest, the original-content flag, every image in the article and the complete article text. No login, no WeChat account, no API key, no browser.

WeChat Official Accounts (公众号) publish the articles that Chinese readers share, comment on and quote all day, and none of it is searchable from outside the app. Sogou runs the one public search index over those articles. This Actor searches that index for your keywords, follows each result to its article page on mp.weixin.qq.com the way a reader would, and returns the article itself, not just a headline. Everything lands in one fixed schema, ready for a spreadsheet, a database or a language model.

Every row carries **26 fields** with article content on, or 12 in the faster search-only mode. A five-article run in the cloud finished in 20 seconds and the full-text rows averaged about 1,700 characters of body text. Sogou serves up to 100 articles per keyword, and the Actor tells you the size of the index behind each term so you know your coverage.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Market and consumer researchers | Read what Chinese accounts publish about a category, a brand or a policy, in full, on a schedule. |
| PR, brand and communications teams | Track every article that names your brand or your competitors, with the account and author behind it. |
| Journalists and analysts | Pull the source articles behind a breaking story instead of second-hand summaries. |
| AI and data teams | Build a Chinese-language corpus of real articles with clean text, dates and provenance. |

### 📋 What the WeChat Articles Scraper does

> 💡 **Why it matters:** a search listing gives you a headline and a snippet. The article page holds the rest: the account's permanent ID, the author, the digest the account wrote, the cover image, whether the piece is original or a repost, and the full body text with its images. This Actor puts all of that on one row per article and collects those rows for every keyword you give it.

- 🔍 **Keyword search.** One or more search terms, Chinese or English. Sogou's WeChat index ranks by relevance and recency, and the Actor walks all 10 result pages per term.
- 📄 **The whole article.** `content` carries the complete body text with paragraphs preserved, and `contentLength` tells you how long it is.
- 🖼 **Every image.** The cover in `imageUrl`, and every inline image of the article in `imageUrls`, with `imageCount`.
- 🏷 **Who published it.** The account's display name, its permanent ID (`gh_...`), its avatar, and the article's named author when the account credits one.
- 📅 **Exact timestamps.** `publishedAt` is the article's own publish time in ISO 8601, not a rounded "3 days ago".
- ©️ **Original or repost.** `isOriginal` reads WeChat's own copyright flag.
- 🆔 **WeChat identifiers.** `wechatBiz`, `wechatMid`, `wechatIdx` and `commentId`, the values WeChat uses to address the article and its comment thread.
- 🔗 **Two links per row.** `url` is the resolved article address on mp.weixin.qq.com; `sogouUrl` is the stable search-result link.
- 🧭 **Search context.** `searchTerm` and `position` record which query found the article and where it ranked.
- ⚡ **Search-only mode.** Switch article content off to export title, account, snippet, date, thumbnail and links at 10 rows per request.
- 📦 **One fixed schema.** Columns never move, so your spreadsheet or database mapping never breaks.

### 🎬 Full Demo (🚧 Coming soon)

A short walkthrough video is in production and will land here.

### 📊 Output

One row per article, 26 fields, always in this order. With article content off the row stops after `sogouUrl` and carries 12 fields.

| Field | Type | Description |
|---|---|---|
| 🖼 `imageUrl` | string | Cover image of the article (the search thumbnail in search-only mode). |
| 📌 `title` | string | Article title. |
| 🔗 `url` | string | The article page on mp.weixin.qq.com, resolved from Sogou's redirect. |
| 🆔 `id` | string | Sogou's document ID for the result, stable across runs. |
| 🏷 `accountName` | string | Display name of the Official Account. |
| 📅 `publishedAt` | string | Publish time, ISO 8601. |
| 💬 `snippet` | string | Search-result excerpt around your keyword. |
| 🔎 `searchTerm` | string | The keyword that found this article. |
| 🔢 `position` | number | Rank of the article in the results for that keyword, 1 to 100. |
| 🔗 `sogouUrl` | string | The Sogou search-result link. |
| 🪪 `accountId` | string | Permanent account ID, e.g. `gh_e8f92a085df7`. |
| 👤 `accountAvatarUrl` | string | Account avatar. |
| ✍️ `author` | string | Named author, when the account credits one. |
| 📝 `digest` | string | The one-line digest the account wrote for the article. |
| ©️ `isOriginal` | string | `Yes` when WeChat marks the article as original content. |
| 🆔 `wechatBiz` | string | The account's `__biz` identifier. |
| 🆔 `wechatMid` | string | Message ID of the article. |
| 🆔 `wechatIdx` | string | Position of the article inside its publication batch. |
| 💬 `commentId` | string | ID of the article's comment thread. |
| 📄 `articleStatus` | string | `Available`, or the reason the page could not be read (deleted, account migrated). |
| 📃 `content` | string | Full article text, paragraphs preserved. |
| 🔢 `contentLength` | number | Characters in `content`. |
| 🖼 `imageCount` | number | Inline images in the article. |
| 🖼 `imageUrls` | array | Every inline image URL. |
| 🕒 `scrapedAt` | string | When this row was collected. |
| ❌ `error` | string or null | Error message for rows that could not be collected, otherwise `null`. |

#### Sample records

The `content` values are shortened here; the dataset carries the full text.

```json
{
  "imageUrl": "https://mmbiz.qpic.cn/mmbiz_jpg/qGKI3L8jzm4iaGNj7g3zmzAtQ1UVfyCVNcibuBJOCJcXNUDMLaibZPic4JlRGXLZKoQD4IkicTLaNzhWWXtHZyFdsLJWTUtNKf0c16J0jybc1Kds/0?wx_fmt=jpeg",
  "title": "现在还说AI没法科研的人，应该只能分为两种。。。",
  "url": "https://mp.weixin.qq.com/s?src=11&timestamp=1788798783&ver=6952&signature=LpK7*TZzwQDt7O7ycb4B7DKUHUVSMlSVwPCea8FGXOSaKGLezxGbIt58NMCbmPkjDk*eYr6ZidgI2oOjjUFZLZnuw3EyM3TfMcQoAgCkKx-BEtOXRqpvC4sM-Emrrp74&new=1",
  "id": "27e12653324fb913e1bfa7cf34da1f73",
  "accountName": "人工智能QA",
  "publishedAt": "2026-09-07T15:40:46.000Z",
  "snippet": "之后人工的核心任务就是消除“人机味儿”,因为LLM会习惯性出现宏大词汇、夸张修饰或学术口吻失真,所以把不科学的措辞打磨规...",
  "searchTerm": "人工智能",
  "position": 5,
  "sogouUrl": "https://weixin.sogou.com/link?url=dn9a_-gY295K0Rci_xozVXfdMkSQTLW6cwJThYulHEtVjXrGTiVgSwhtXwx_nmkITGGAyogJ8vkx3A6gnvBUrlqXa8Fplpd9G3Dvz5v1v593-ZS8KA17wFKEDLxczw-sSI8ETv9thwuTH93Gn7dwqvUjL8-3WGl6nEYsTHW39JUdb69qOY_38l08_RZY7U20IRFEDE4bOn9I-XtQLtAjSiWZJvky57nujgz2IKzcSKqb3z5yY3CijjRc8rhCCDCEbwi9y_5YTpT1AfaFW2DefQ..&type=2&query=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&token=F0C9789A011EC1C571772B975D64114071AFCE5A6A9EE73F",
  "accountId": "gh_e8f92a085df7",
  "accountAvatarUrl": "http://mmbiz.qpic.cn/mmbiz_png/BEtyQAFaR4Wrwwfcbb86Hho1dPTLOF1BZdIU8CDTAjRxXJVAZOCZZadKf6B2amCbJGVewYAd7gajutqibfrsfPg/0?wx_fmt=png",
  "author": "人工智能QA",
  "digest": "Coding Agent全程接管我的毕业论文，唯一的人工是因为我比它便宜。。。",
  "isOriginal": "Yes",
  "wechatBiz": "Mzk0NjQ2NDE2Mg==",
  "wechatMid": "2247484831",
  "wechatIdx": "1",
  "commentId": "4684254854569967621",
  "articleStatus": "Available",
  "content": "由于前段时间一边实习，一边忙于秋招，还一边被导师催交毕业论文初稿，导致多边的严峻形态以及时间上的紧迫性，索性我就拿自己的课题做了一次实验：看看现阶段的 Coding Agent 到底能帮我完成多少科研工作？大家先猜一个比例，看看是否一致：3…",
  "contentLength": 1710,
  "imageCount": 2,
  "imageUrls": [
    "https://mmbiz.qpic.cn/sz_mmbiz_png/qGKI3L8jzm6j0cMtYUokUKxGiaLwy31XaQWZecD7TrcLpTXJXcM20OZsw8swPs0libXl69Q7jl4rpxFQ0XG7uZbBsXs5aKTA2lqandvsuI4lM/640?wx_fmt=png&from=appmsg",
    "https://mmbiz.qpic.cn/sz_mmbiz_png/qGKI3L8jzm6UzaqLNjNqYg7EHR0L828sDGKSNW8ibfDib7yfjkguB0A10eLvJ8X7eLToW0l3w5wRGmsLmG22EaWHCia1B2ODdBmib27h3RiaExQQ/640?wx_fmt=png&from=appmsg"
  ],
  "scrapedAt": "2026-09-07T16:33:18.420Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/fBFW4vb5ZRsyj0pyajPLlicByLbeYxZHeibtW5s1G2BicDVdpIruhAicSUo19nXNADHFlIlK21j8yonzflRETsXbSA/0?wx_fmt=jpeg",
  "title": "文秋芳丨人工智能时代的外语教育会产生颠覆性革命吗?",
  "url": "https://mp.weixin.qq.com/s?src=11&timestamp=1788798408&ver=6952&signature=kJnn4bogMw6VF0Ko748YOBf8*csZ6JxTZo8aaHN6tg5dizVklz01NzP9l4GiqdFrjtD5IyVm4OIPQRder9SftXPmiWyKQHz1eD9jI*x8JBANT*q9I0dDHmVND*Yp8F4h&new=1",
  "id": "0216e73bba5a4a475b373d5844f580db",
  "accountName": "蔡雷英语",
  "publishedAt": "2026-09-07T15:43:53.000Z",
  "snippet": "提要本文认为人工智能应继承教育优良传统,促进教育体系变革,而非导致颠覆性革命.文章首先探讨了技术变革的特点,指出每次工...",
  "searchTerm": "人工智能",
  "position": 5,
  "sogouUrl": "https://weixin.sogou.com/link?url=dn9a_-gY295K0Rci_xozVXfdMkSQTLW6cwJThYulHEtVjXrGTiVgSwhtXwx_nmkIpz9HQz3AsiAx3A6gnvBUrlqXa8Fplpd9ntoU4cXXnkDB0S6Ab7hAXv71q_NQb10uteinfLCD6NvusbhNuOvLt99wm-U-0Ut7Gyjgzugyfavd7CJ1-v8GB2tt8tHMsEXyP2_Adn7K8HaVsLQZ-sJYtX4XwbFwgOUqopiROLVyK46cI56KveoZKUa_yjpzpiVnodQJx4OmdEQ6Ebq8fk9diw..&type=2&query=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&token=F0C16EC4DF9A7000989ECD7082290D8798413C4F6A9EE5C8",
  "accountId": "gh_9e02fef43685",
  "accountAvatarUrl": "http://mmbiz.qpic.cn/mmbiz_png/fBFW4vb5ZRs11WKqxhn8ANJicla0AbOHZSc5YefCPN5AZusYt8UjTau0c1YC3lXR7AfzJZbauNDYgeUYs84jbwg/0?wx_fmt=png",
  "author": "文秋芳",
  "digest": "“革命”和“改革”这两个词具有不同的本质属性。",
  "isOriginal": "No",
  "wechatBiz": "MzI0NjIyMzEyNQ==",
  "wechatMid": "2247620492",
  "wechatIdx": "5",
  "commentId": "4684257286276825088",
  "articleStatus": "Available",
  "content": "提要本文认为人工智能应继承教育优良传统，促进教育体系变革，而非导致颠覆性革命。文章首先探讨了技术变革的特点，指出每次工业革命都对经济和社会结构产生了深远影响，但这种影响在教育领域更多是促进了以人为本的发展，而非突破性的革命变化。教育具有延续…",
  "contentLength": 8406,
  "imageCount": 0,
  "imageUrls": [],
  "scrapedAt": "2026-09-07T16:27:00.724Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/0OXp7MD43VtRia14icFCWOobrv8icjU4zicHUpJAS1ZyjYnQbiay9tNsHLsxvIsnvcjYS3tRaic5D5cTCdgl93KKe1iaTQb1oO9WrJA3w1pj5XNoJE/0?wx_fmt=jpeg",
  "title": "坚持发展和安全并重，涉人工智能司法裁判规则出台！",
  "url": "https://mp.weixin.qq.com/s?src=11&timestamp=1788798783&ver=6952&signature=moycBNwe4PxY0Dm*rGKYDWPn2MlarecmVhv51Ti4-Y8SMWNTtGEyv62-i5jMWouM-DARonz5k4EqWpjupk3LkDbwIKS0KypLtdd-iUKCTC1Uu3zKczZnMk96FE72dyxM&new=1",
  "id": "e15679bd922b999188faeca9dd9b6951",
  "accountName": "人民法院报",
  "publishedAt": "2026-09-07T14:20:00.000Z",
  "snippet": "为促推人工智能在法治轨道上安全、健康、有序发展,《最高人民法院关于依法审理涉人工智能纠纷案件的意见》于2026年9月7日正...",
  "searchTerm": "人工智能",
  "position": 2,
  "sogouUrl": "https://weixin.sogou.com/link?url=dn9a_-gY295K0Rci_xozVXfdMkSQTLW6cwJThYulHEtVjXrGTiVgSwhtXwx_nmkITGGAyogJ8vkx3A6gnvBUrlqXa8Fplpd9Xw2Y2BtEv3LrGos1NnKXGlbEzRNuK08pKyEypqYcjqCFke_5Z6hVCKOmIOE1G0dlFRVAvYf7gDT6NAFOeWOSPIiQif98L2nLjK6DfIemrkbHRpDC-kJ41zms3O5CAu1i8_2dv2jxFdPwkZFmCDB-QZU6_oqheRbgOtZThVgePmphlgeRt7bSzA..&type=2&query=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&token=F0C9789A011EC1C571772B975D64114071AFCE5A6A9EE73F",
  "accountId": "gh_06a7c11e78e7",
  "accountAvatarUrl": "http://mmbiz.qpic.cn/mmbiz_png/qrrm9dFnnpQqqHgTs7iaQibD3ds6fbibdp9c17UMWpJY5bbS19q2D7jSLibT1CbOTSUZxcPxmVLJLxmW5eYuDwRKjw/0?wx_fmt=png",
  "author": "Not Disclosed",
  "digest": "点击阅读",
  "isOriginal": "No",
  "wechatBiz": "MzA4MjQ0Njc5OQ==",
  "wechatMid": "2828390259",
  "wechatIdx": "1",
  "commentId": "4684163822553776133",
  "articleStatus": "Available",
  "content": "为促推人工智能在法治轨道上安全、健康、有序发展，《最高人民法院关于依法审理涉人工智能纠纷案件的意见》于2026年9月7日正式出台。有哪些重点、亮点？带你一图读懂！来源最高人民法院新闻局人民法院新闻传媒总社文案莫小雪制图张明翠责任编辑莫小雪",
  "contentLength": 119,
  "imageCount": 2,
  "imageUrls": [
    "https://mmbiz.qpic.cn/sz_mmbiz_png/ND5I25Qy2brmVicO0z5gJ0raYZ2CgPwLibZbzPo8DWFcsMHKWjlAAaHstiaP32VrRTiaqtGQPRnaHanFj3DSzqIKTa211CPvrWqxSsvrsRKw45w/640?wx_fmt=png&from=appmsg#imgIndex=0",
    "https://mmbiz.qpic.cn/mmbiz_jpg/XsJicO53WssLGkf06svDAfc0w7oCxA5K2eYsYbTElveP8RrxwUrBbCc8OWzicu1Mqfvwe5fxX31FrW0ucLoaz1dg/640?wx_fmt=jpeg&from=appmsg#imgIndex=1"
  ],
  "scrapedAt": "2026-09-07T16:33:18.266Z",
  "error": null
}
```

### ✨ Why choose this Actor

| | What you get |
|---|---|
| **The article, not the listing** | Full body text, every image, author, digest and the original-content flag on every row. Most WeChat search scrapers stop at the headline. |
| **No login, no WeChat account** | Reads the public Sogou index and the public article pages. Nothing to register, nothing that expires. |
| **No browser** | Plain HTTP requests, so runs are fast and cheap. A five-article run finishes in about 20 seconds. |
| **Honest coverage** | The log prints how many articles Sogou has indexed for each term, and the Actor never claims more than the 100 it can reach per keyword. |
| **Chinese-first** | Queries in 汉字 return the richest results; English brand names work too. |
| **One fixed schema** | 26 columns in a fixed order, sentinels instead of blanks, an `error` column that is `null` on good rows. |

### 📈 How it compares to alternatives

| Feature | ParseForge WeChat Articles Scraper | WeChat Official Account Scraper by sian.agency | WeChat Official Account Scraper by zen-studio | Sogou WeChat Article Search Scraper by automation-lab |
|---|---|---|---|---|
| Keyword search for articles | Yes, 100 per keyword | Yes | Yes | Yes |
| Full article text on the search row | Yes, same row | Separate paid event per article | Separate paid event per article | No |
| Article images | Yes, all of them | Not listed | Not listed | No |
| Account ID, author, digest, original flag | Yes | Yes | Yes | No |
| Read and like counts | No, WeChat only shows them inside the app | Yes | Yes | No |
| Comments | No | Yes | Yes | No |
| Account profile and history | No | Yes | Yes | No |
| Login or WeChat account needed | No | No | No | No |

Pick sian.agency or zen-studio when you need engagement metrics, comments or an account's full publishing history. Pick this Actor when you want the articles themselves, in full, from a keyword.

### 🚀 How to use

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [WeChat Articles Scraper](https://apify.com/parseforge/wechat-articles-scraper?fpr=vmoqkp).
3. Enter one or more search terms, set `maxItems`, and click **Start**.
4. Export the results as CSV, Excel, JSON or XML from the **Dataset** tab.

A first run:

```json
{
  "searchTerms": ["人工智能"],
  "maxItems": 10
}
```

A larger pull across several topics, with search-only rows:

```json
{
  "searchTerms": ["新能源汽车", "比亚迪", "小米汽车"],
  "maxItems": 300,
  "includeArticleContent": false
}
```

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### 💼 Business use cases

#### 📊 Category and brand monitoring

A consumer-goods team runs the brand name and three competitor names every morning. Each article arrives with its account, author and full text, so the analyst reads the actual claims rather than a snippet.

#### 🗞 Media and policy tracking

A public-affairs consultancy searches a new regulation's name and exports every Official Account article about it, with the publishing account and the exact publish time, to see who framed it first and how.

#### 🧠 Corpus building for language models

A data team collects 100 articles for each of 200 topic keywords, keeps `content`, `publishedAt` and `accountId`, and fine-tunes a Chinese summarisation model on real editorial text with provenance.

#### 🎯 Influencer and account discovery

A marketing agency searches its niche keywords, groups the rows by `accountId`, and builds a shortlist of the Official Accounts that publish original content (`isOriginal` = `Yes`) most often.

### 🔌 Automating WeChat Articles Scraper

- **Make and Zapier.** Trigger a run on a schedule and route new rows into Google Sheets, Airtable or a CRM.
- **Slack.** Post the title, account and link of every new article for a keyword into a channel.
- **Airbyte.** Sync the dataset into a warehouse and join it with your own brand-mention data.
- **GitHub Actions.** Run the Actor nightly and commit the JSON to a repository as a versioned corpus.
- **Google Drive.** Save each run's Excel export into a shared folder for the research team.

### 🌟 Beyond business use cases

- **Research.** Collect how a topic is discussed across hundreds of accounts with full text and exact dates for content analysis.
- **Personal.** Follow a niche interest across the accounts that write about it, without opening WeChat.
- **Non-profit.** Track public-health or environmental messaging by Chinese institutions and media accounts.
- **Experimentation.** Feed real Chinese long-form text into embedding, translation or summarisation pipelines.

### 🤖 Ask an AI assistant about this scraper

Add the Actor to Claude, Cursor or any MCP client and ask for WeChat articles in plain language:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/wechat-articles-scraper"
```

### ❓ Frequently Asked Questions

#### 🔢 How many articles can I get per keyword?

Sogou serves 10 pages of 10 results for any query, so 100 articles per search term. The log prints how many articles Sogou has indexed for the term (for example 611 for "Apify"), so you can see what share you are reaching. Add more specific keywords to reach further.

#### 🔐 Do I need a WeChat account or an API key?

No. The Actor reads the public Sogou search index and the public article pages on mp.weixin.qq.com.

#### 📅 Can I filter by date or by account?

Not on the input. Sogou's date and account filters are not available to automated requests. Filter the dataset on `publishedAt` and `accountId` after the run, or put the account name in the search term.

#### 📃 Is the full article text really included?

Yes. `content` carries the whole body of the article as plain text with paragraphs preserved, and `imageUrls` carries every inline image. Turn `includeArticleContent` off if you only need the search rows.

#### 👍 Do I get read counts, likes or comments?

No. WeChat shows those only inside the app. The Actor returns `commentId` so you can match the thread elsewhere, but not the counts.

#### ⚠️ What does `articleStatus` mean?

`Available` means the article page was read in full. Otherwise it carries the reason the page could not be read, such as an account that has migrated or an article the publisher deleted. The row keeps the search-result fields and `error` stays `null`.

#### 🔗 Why does `url` contain a timestamp and a signature?

Sogou hands out a signed link to the article. It opens the article directly, and `sogouUrl` is the stable link you can keep. The article's own identifiers are in `wechatBiz`, `wechatMid` and `wechatIdx`.

#### 🌐 Do I need a proxy?

Keep Apify proxies on, which is the default. Sogou allows about 20 requests per IP address before it shows an anti-spider page, and the Actor rotates a fresh session for every result page.

#### 🔤 Does it work with English keywords?

Yes. Chinese keywords return more results because most articles are written in Chinese, and a brand name in English usually works well.

#### 🆓 Is there a free tier?

Free-plan runs return up to 10 articles as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 rows per run.

#### 🕒 How fresh are the results?

Sogou indexes new articles within minutes to hours of publication. Run the Actor on a schedule to catch new pieces as they appear.

### 🔌 Integrate with any app

Every run's dataset is available through the Apify API, webhooks and the Apify integrations for Make, Zapier, Slack, Airbyte, GitHub, Google Drive and more. Export to CSV, JSON, Excel or XML at any time.

### 🔗 Recommended Actors

- [Sogou WeChat Search Articles Scraper](https://apify.com/parseforge/sogou-wechat-search-articles-scraper?fpr=vmoqkp) for a lighter, search-only export of WeChat articles.
- [WeChat Sogou Search Scraper](https://apify.com/parseforge/weixin-sogou-search-scraper?fpr=vmoqkp) to search Official Accounts as well as articles.
- [Reddit Posts Scraper](https://apify.com/parseforge/reddit-posts-scraper?fpr=vmoqkp) for the same keyword monitoring on Reddit.
- [Truth Social Scraper](https://apify.com/parseforge/truthsocial-scraper?fpr=vmoqkp) for public profiles, timelines and posts on Truth Social.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA) with your run ID, your input and what you expected.

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Tencent Holdings Ltd. or Sogou. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA and PIPL.

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords or phrases to search for in WeChat Official Account articles. Chinese queries return the most results (人工智能, 新能源汽车), English works too. Sogou WeChat search returns at most 100 articles per term (10 pages of 10), so add more terms to collect more.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `includeArticleContent` (type: `boolean`):

On (default): one extra request per article to collect the full article text, images, author, account ID and digest. Off: faster, search-result fields only.

## `proxyConfiguration` (type: `object`):

Keep Apify proxies enabled. Datacenter proxies are enough; residential is not needed.

## Actor input object example

```json
{
  "searchTerms": [
    "人工智能"
  ],
  "maxItems": 10,
  "includeArticleContent": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Title, account, publish date, cover and link for every article

## `fullData` (type: `string`):

Complete dataset with all 26 fields, including the full article text, every image, author, digest, availability status and WeChat identifiers

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerms": [
        "人工智能"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/wechat-articles-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchTerms": ["人工智能"],
    "maxItems": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/wechat-articles-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerms": [
    "人工智能"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parseforge/wechat-articles-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/wechat-articles-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vHyH765emyiFZhgI7/builds/I8lxvDCQSxPr2so4G/openapi.json
