# WeChat Official Account Articles - Keyword Search to Markdown (`tenfoldfleet/wechat-official-account-articles`) Actor

Track what WeChat Official Accounts (公众号) publish on any keyword: headline, publisher, publish time, Sogou snippet and article link. Add the post body as Markdown with image URLs and biz and gh\_ IDs, or paste short links. $6 per 1,000 articles, $12 per 1,000 full texts; failed rows free.

- **URL**: https://apify.com/tenfoldfleet/wechat-official-account-articles.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** Social media, Agents, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 article founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does WeChat Official Account Articles do?

**WeChat Official Account Articles** turns a keyword into a list of **WeChat Official Account (公众号) articles**, and on request into the **full article text as clean Markdown**. Type 人工智能, 新能源汽车 or "electric vehicle battery" and get back, for every post:

- the **headline**, **account name**, **publish date** and the **search snippet**,
- the **cover image** and a **link that opens the article** on mp.weixin.qq.com,
- optionally the **whole body as Markdown**, every image URL, the account's **biz id** and **gh\_ id**, the author, the IP location WeChat shows and the exact publish time.

You can also paste short article links (mp.weixin.qq.com/s/...) to convert single posts to Markdown. It works like a small **WeChat article search API**: one input, JSON out, no WeChat account, no login and no cookies.

Not affiliated with or endorsed by WeChat, Tencent or Sogou. Search results come from Sogou's public WeChat article search.

### Why use it?

- **China market research**: see what Chinese media, brands and analysts publish about a product, sector or policy this week.
- **Brand and competitor monitoring**: run your brand or a rival's name on a schedule and catch new Official Account posts.
- **AI, RAG and LLM pipelines**: Markdown bodies drop straight into a vector store or a summarization prompt, with images kept as links.
- **Media and PR tracking**: find which accounts picked up a story and when.
- **Translation and archiving**: keep a readable copy of posts that may later be deleted.

### What data can it extract?

| Field | Search row | With full text |
|---|---|---|
| keyword, rank | yes | yes |
| title, accountName, publishedAt | yes | yes |
| digest (search snippet), coverUrl | yes | yes |
| articleUrl (opens the post) | yes | yes |
| markdown, images, charCount (characters of text) | | yes |
| accountBiz, accountGhId, nickname, avatarUrl | | yes |
| author, ipLocation, isOriginal, contentType | | yes |
| publishedAtLocal (China time), sourceUrl, permanentUrl | | yes |

**About articleUrl:** it is the signed link Sogou hands out (`mp.weixin.qq.com/s?src=11&timestamp=...&ver=...&signature=...`). In our tests it still opened the article more than 30 minutes after the run; how long it lasts beyond that has not been measured, and re-opening a signed link from a server now and then meets a WeChat verification page. If you need the text, switch on full text so it is read in the same run. With full text on, the Actor also returns **permanentUrl** (`__biz`, `mid`, `idx`, `sn`) whenever the article page exposes the `sn` value; pages reached through Sogou often leave it empty, and then permanentUrl is null. accountBiz plus the title and publish time identify the post in any case.

### What it cannot do

- **No read, like or "wow" counts**, no comments and no WeChat Index: WeChat only shows those inside its app to a logged-in client.
- **At most about 100 results per keyword**: Sogou shows anonymous visitors 10 pages of 10 results, with a few repeats. For more coverage, split a topic into several narrower keywords.
- **No full account history**: results are what Sogou's search returns for the keyword, not every post an account ever published.

### How to search WeChat articles by keyword

1. Add one or more **keywords** (Chinese or English; several words are fine).
2. Set **Max articles per keyword** (up to 100).
3. Switch on **Include full article text** if you want the Markdown body and account IDs.
4. Optionally paste **article links** to convert specific posts.
5. Click **Start**, then download the dataset as JSON, CSV or Excel, or read it through the API.

### How much does it cost?

Pay per result, no subscription:

- **$6 per 1,000 articles** found by keyword search ($0.006 each).
- **$12 per 1,000 full texts** ($0.012 each), on top of the search row when full text is on, or alone for a pasted link. A searched article with its full text costs $0.018.
- **Failures are free**: empty searches, pages Sogou blocked after three fresh sessions, links that did not resolve, deleted, removed or expired articles and bad links come back as error rows and are not charged. Repeated results within a keyword are dropped and not charged.

Example: 10 keywords × 50 articles = 500 rows = $3.00. The same with full text = $9.00.

**Free plan:** up to 20 search rows and 5 full texts per run, so you can test the output before you upgrade.

### Input

```json
{
    "keywords": ["人工智能", "electric vehicle battery"],
    "maxResultsPerKeyword": 50,
    "includeFullText": true,
    "articleUrls": ["https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ"]
}
```

### Output

You can download the dataset as JSON, CSV, Excel, XML or HTML. A search row with full text looks like this (markdown shortened):

```json
{
    "source": "search",
    "keyword": "人工智能",
    "rank": 1,
    "title": "国办发文:减缓人工智能应用就业替代影响,尽可能减少对从业人员的冲击",
    "accountName": "观察者网",
    "publishedAt": "2026-10-23T11:04:01.000Z",
    "digest": "据中国政府网10月23日消息,国务院办公厅日前印发《关于适应人工智能技术发展助力构建就业友好型发展方式的意见》...",
    "coverUrl": "https://mmbiz.qpic.cn/mmbiz_jpg/PGCYmA4PPY6u.../0?wx_fmt=jpeg",
    "articleUrl": "https://mp.weixin.qq.com/s?src=11&timestamp=1792766095&ver=7044&signature=RRl2rm...&new=1",
    "accountBiz": "MjM5MjA4MjA4MA==",
    "accountGhId": "gh_5c9e0938601d",
    "nickname": "观察者网",
    "avatarUrl": "https://mmbiz.qpic.cn/mmbiz_png/wZ8jfcVwf7Ku.../0?wx_fmt=png",
    "author": null,
    "ipLocation": "上海",
    "isOriginal": false,
    "contentType": "article",
    "publishedAtLocal": "2026-10-23 19:04",
    "permanentUrl": null,
    "markdown": "据中国政府网10月23日消息，国务院办公厅日前印发《关于适应人工智能技术发展助力构建就业友好型发展方式的意见》...\n\n![](https://mmbiz.qpic.cn/...)",
    "charCount": 668,
    "images": ["https://mmbiz.qpic.cn/mmbiz_png/..."],
    "fullTextError": null
}
```

An error row (free):

```json
{ "source": "search", "keyword": "qzxv blorptangle", "error": "Sogou WeChat search returned no articles for this keyword.", "errorType": "no-results" }
```

### Tips

- **Narrow keywords beat broad ones.** Sogou ranks by relevance and freshness and stops at about 100 results, so "新能源汽车 电池回收" finds posts that "新能源汽车" alone would miss.
- **Full text is slower**: each article page is about 3 MB, so allow a few seconds per post. Search rows alone are fast: a cloud test returned 452 rows for 5 keywords in about a minute.
- **Images** are WeChat CDN links (mmbiz.qpic.cn). They load in a browser and in most tools; some sites that embed them may need to proxy them.
- Each search page runs on its own fresh proxy session. When Sogou shows its anti-bot page, the Actor simply moves to another session; it never fills in a verification code. Pages that stay blocked after three sessions come back as free error rows.
- **Long links** (`__biz=...&sn=...`) make WeChat ask servers for a verification, so they return a free error row. Paste the short `mp.weixin.qq.com/s/...` form, or find the post by keyword.

### Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add `https://mcp.apify.com?tools=tenfoldfleet/wechat-official-account-articles` as a remote MCP server and sign in with your Apify account. The agent fills in the input, runs the Actor and reads the results itself; you pay the same per-event price as a normal run.

### FAQ

#### Do I need a WeChat account?

No. Search uses Sogou's public WeChat search and articles are read from their public web pages. No login, cookies or app access.

#### Why are there fewer than 100 results for a keyword?

Sogou serves 10 pages to anonymous visitors, some pages carry 9 results, and the same post can appear twice. Repeats are removed and not charged. Rare keywords may simply have fewer posts.

#### Why did a row come back with an error?

The keyword may have no results, Sogou may have blocked every retry for that page, the article may have been deleted or removed by WeChat, or the link may have expired. Error rows are free.

#### Can I get read counts, likes or comments?

No. WeChat shows those only inside its app to logged-in users, so this Actor does not return them.

#### Can I schedule it?

Yes. Use an Apify schedule or task to run the same keywords daily and compare the new rows by title and publish time.

#### Can I use it through an API?

Yes. Call it through the Apify API, the Apify MCP server or any Apify integration, and read the results as JSON.

### Disclaimer

This Actor reads only publicly available pages. Articles are copyrighted by their authors: use the text for research, monitoring and analysis, respect the original publishers' rights, and process any personal data in line with GDPR and other data-protection laws. WeChat and Weixin are trademarks of Tencent and Sogou is a trademark of its owner; this Actor is not affiliated with or endorsed by them.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [ALDI Australia Scraper - AU Products, Unit Prices & Catalogue](https://apify.com/tenfoldfleet/aldi-australia-scraper) | product |
| [Alibaba Image Search - Reverse Lookup of Suppliers by Photo](https://apify.com/tenfoldfleet/alibaba-image-search) | matched product |
| [Alibaba Products Scraper: Wholesale Suppliers, MOQ, Price Tiers](https://apify.com/tenfoldfleet/alibaba-products-scraper) | product |
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [Applicant Tracking Jobs Scraper - Greenhouse, Lever & 6 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Facebook Ads Library Scraper for Marketers](https://apify.com/tenfoldfleet/facebook-ads-library-scraper) | ad |
| [Facebook Page Contact Finder - Business Leads from Page Links](https://apify.com/tenfoldfleet/facebook-page-contact-finder) | page with contact details |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google AI Overviews Checker - Citations & Domain Tracker](https://apify.com/tenfoldfleet/google-ai-overviews-checker) | keyword checked |
| [Google Flights Scraper - All Fares per Route & Date (API)](https://apify.com/tenfoldfleet/google-flights-scraper) | route search |
| [Google Hotels Scraper - Nightly Prices, Stars & Booking Sites](https://apify.com/tenfoldfleet/google-hotels-scraper) | hotel |
| [Google for Jobs Scraper - Openings by City, Pay & Job Board](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google Maps Extractor - Business Leads, Phones & Websites](https://apify.com/tenfoldfleet/google-maps-extractor) | place |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Travel Hotel Rate Tracker - OTA Prices for Every Night](https://apify.com/tenfoldfleet/google-travel-hotel-rate-tracker) | offer |
| [Search Trends by Region & Time - Google Trends Data Scraper](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Instagram Reels Search - Keyword to Top Reels, Plays & Creators](https://apify.com/tenfoldfleet/instagram-reels-search) | reel |
| [Instagram Reels Transcript - Speech to Text for Public Reels](https://apify.com/tenfoldfleet/instagram-reels-transcript) | reel transcript |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Likee Scraper - Creators by Country, Video Views & Likes](https://apify.com/tenfoldfleet/likee-scraper) | video |
| [LinkedIn Ads Library Scraper - Competitor Ad Copy & Targeting](https://apify.com/tenfoldfleet/linkedin-ad-library-scraper) | ad |
| [Reddit Brand Monitoring - Keyword Alerts for Posts & Comments](https://apify.com/tenfoldfleet/reddit-brand-monitoring) | mention |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Jobs Scraper - Salaries & Hiring Across 8 APAC Job Boards](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Agent - AI Keyword Research & Competitor Reports](https://apify.com/tenfoldfleet/seo-agent) | research report |
| [SEO Crawler - Technical SEO Audit Tool & On-Page Checker](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Website Built With Checker - Find Any Site's CMS & Tech Stack](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [Threads Search - Keyword & Profile Posts Scraper (No Login)](https://apify.com/tenfoldfleet/threads-search) | post |
| [TikTok Transcripts - Captions or Speech to Text for Any Video](https://apify.com/tenfoldfleet/tiktok-transcripts) | video transcript |
| [HTML to Text & URL to Markdown - LLM Ready Web Content](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [Weibo Scraper - Comment Threads, Hot Search Ranks & User Stats](https://apify.com/tenfoldfleet/weibo-scraper) | comment |
| [Woolworths Product Scraper - AU Shelf Prices, Specials & GTINs](https://apify.com/tenfoldfleet/woolworths-product-scraper) | product |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Channel Email Scraper - Creator Contact Extractor](https://apify.com/tenfoldfleet/youtube-channel-email-scraper) | channel with email |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

## `keywords` (type: `array`):

Search terms in Chinese or English (for example 人工智能, 新能源汽车, electric vehicle battery). Each keyword is searched in Sogou's WeChat article index, newest and most relevant posts first.

## `maxResultsPerKeyword` (type: `integer`):

Up to 100. Sogou shows at most 10 pages of 10 results to anonymous visitors, and repeats a few, so 100 usually returns about 85-95 unique articles. Free plan: 20 search rows per run.

## `includeFullText` (type: `boolean`):

Open every article found and add its body as Markdown, the image list, account IDs (biz, gh\_ id), author, IP location and the exact publish time. Charged per article read. Free plan: 5 full texts per run.

## `articleUrls` (type: `array`):

Optional. Paste mp.weixin.qq.com article links to get their full text without searching. Short links (mp.weixin.qq.com/s/...) and the links this Actor outputs work. Long \_\_biz=...\&sn=... links usually hit a WeChat verification page from servers and come back as free error rows.

## Actor input object example

```json
{
  "keywords": [
    "人工智能",
    "electric vehicle battery"
  ],
  "maxResultsPerKeyword": 10,
  "includeFullText": false,
  "articleUrls": [
    "https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "keywords": [
        "人工智能",
        "electric vehicle battery"
    ],
    "maxResultsPerKeyword": 10,
    "articleUrls": [
        "https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/wechat-official-account-articles").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 = {
    "keywords": [
        "人工智能",
        "electric vehicle battery",
    ],
    "maxResultsPerKeyword": 10,
    "articleUrls": ["https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ"],
}

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/wechat-official-account-articles").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 '{
  "keywords": [
    "人工智能",
    "electric vehicle battery"
  ],
  "maxResultsPerKeyword": 10,
  "articleUrls": [
    "https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ"
  ]
}' |
apify call tenfoldfleet/wechat-official-account-articles --silent --output-dataset

```

## MCP server setup

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

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/C1patrTejEOFIzfTv/builds/wNXdutVmpFNh2FScL/openapi.json
