# WeChat Index 微信指数 Scraper - China Keyword Trend Data (`clover_folktale/wechat-index-scraper`) Actor

Get the WeChat Index (微信指数, Weixin Index) of any keyword: the daily popularity series for the last 30 days, plus latest, average and peak values. Track brands, products and campaigns in China. No WeChat account, login or cookies needed. Export to JSON, CSV or Excel.

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

## Pricing

from $97.50 / 1,000 keyword trends

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?

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

WeChat Index Scraper gets the **WeChat Index (微信指数, also called Weixin Index)** of any keyword as clean JSON: the daily popularity series for the last 30 days, plus the latest, average and peak values. It is made for marketers, brand managers, analysts and researchers who follow keyword trends in China. Each keyword gives one record that is ready for a spreadsheet, dashboard or model. No WeChat account, login, proxies or cookies needed.

### What is WeChat Index?

WeChat Index (微信指数) is WeChat's own keyword popularity measure, built from in-app searches, Official Account articles and Moments shares. It works like Google Trends for the Chinese market: for a keyword you see how its popularity moved day by day. Any WeChat user can open it from the WeChat search page. This Actor returns the same public numbers as structured data, so you do not need the WeChat app.

### What data can you get?

One record per keyword. All fields below use the exact names from the dataset.

| Field | What it contains |
|---|---|
| `keyword` | The keyword this trend belongs to |
| `dataPoints` | The daily series: one entry per day with `date` (China time), `timestamp` (epoch seconds) and `index` |
| `latestIndex` | WeChat Index of the last day in the series |
| `averageIndex` | Average WeChat Index over the series |
| `peakIndex` | Highest WeChat Index in the series |
| `peakDate` | Day of the highest value, YYYY-MM-DD |
| `startDate` | First day of the series (China time), YYYY-MM-DD |
| `endDate` | Last day of the series (China time), YYYY-MM-DD |
| `dataPointCount` | Number of daily points (30 for a full month) |
| `type` | Record type, always `trend` |

The summary fields (`latestIndex`, `averageIndex`, `peakIndex`, `peakDate`) let you compare keywords without any post-processing. The `dataPoints` array gives you the full daily curve for charts and models. In the Apify Console, the "Keyword trends" table view shows `keyword`, `startDate`, `endDate`, `latestIndex`, `averageIndex`, `peakIndex` and `peakDate` side by side.

### How to use WeChat Index Scraper

1. Open WeChat Index Scraper in Apify Console. A paid Apify plan is needed (see the pricing section).
2. In **Keywords**, enter the keywords you want to look up, one per line. Chinese keywords work best.
3. Set **Max results** to the highest number of keyword trends you want to pay for in this run. Only the first that many distinct keywords in your list are looked up.
4. Click **Start** and wait for the run to finish.
5. Open the dataset and export the results as JSON, CSV, Excel or another format, or fetch them through the API.

### Input

| Field | Type | Required | What it does | Default |
|---|---|---|---|---|
| `keywords` | array of strings | Optional | Keywords to look up, Chinese works best (for example 咖啡 or 新能源汽车). One trend record per keyword, in the order given. Duplicate keywords are dropped. | Falls back to 咖啡 (coffee) when empty |
| `maxResults` | integer (1-5000) | Optional | Maximum number of keyword trends to return in total for this run. Only the first `maxResults` distinct keywords are looked up; keywords past that point are never looked up, even if earlier ones have no index. You are charged per keyword trend returned. | 20 |

#### Example: compare several keywords

```json
{
  "keywords": ["咖啡", "新能源汽车", "瑞幸"],
  "maxResults": 3
}
```

#### Example: a single keyword

```json
{
  "keywords": ["新能源汽车"],
  "maxResults": 1
}
```

#### Example: empty input

```json
{}
```

An empty input runs in seconds and looks up 咖啡 (coffee), with `maxResults` at its default of 20.

### Output example

One trend record. The `dataPoints` array is shortened here; a full record has one entry per day (30 for a full month). Values are illustrative.

```json
{
  "type": "trend",
  "keyword": "咖啡",
  "dataPointCount": 30,
  "startDate": "2026-09-14",
  "endDate": "2026-10-13",
  "latestIndex": 93450018,
  "averageIndex": 101269683,
  "peakIndex": 136108574,
  "peakDate": "2026-09-19",
  "dataPoints": [
    {"date": "2026-09-14", "timestamp": 1789315200, "index": 90664913},
    {"date": "2026-09-15", "timestamp": 1789401600, "index": 95921011},
    {"date": "2026-09-16", "timestamp": 1789488000, "index": 123952603}
  ]
}
```

### How much does it cost?

This Actor uses pay-per-event pricing. There are two charge events:

| Event | Price | When it is charged |
|---|---|---|
| `run-start` | $0.15 | Start fee, once per keyword lookup |
| `result` | $0.13 | Each keyword trend returned |

These prices are not tiered. In practice one keyword with an index costs **$0.28**: a $0.15 start fee plus $0.13 for the trend returned. A keyword without an index costs $0.15.

**Worked examples:**

- 1 keyword: $0.15 + $0.13 = **$0.28**
- 10 keywords: 10 × ($0.15 + $0.13) = **$2.80**
- 100 results (100 keywords): 100 × $0.28 = **$28.00**

**How the start fee works:** every keyword you look up pays the $0.15 start fee, the first one included, whether or not WeChat has an index for it, because the lookup itself is billed. The first start fee is charged when the first request to the data source succeeds, even if that request returns nothing. It is not charged when the data source fails from the start or rejects the input, or when your spending limit cannot cover it. So a run whose only keyword has no index costs $0.15; only a run that cannot reach the data source at all costs nothing. Each keyword after the first is charged its start fee before its first request, and that fee is kept even if the keyword then fails or returns nothing. No $0.13 result fee is charged for a keyword that returns no trend.

You never pay for more than `maxResults` keyword trends, and the run stops by itself if your spending limit is reached.

**Free plan:** This Actor runs on paid Apify plans only: each keyword lookup has a high data cost, so runs from free accounts stop immediately and nothing is charged.

### Use cases

- **Brand and campaign tracking:** watch how a brand name or campaign keyword moves day by day on WeChat.
- **Market sizing:** compare the attention of competing products or categories in China.
- **Trend spotting:** find rising and fading topics before they show in sales.
- **Content planning:** pick keywords for Official Account articles by their current popularity.
- **AI and data projects:** use a clean daily time series per keyword in dashboards and models.
- **Regular monitoring:** schedule the same keyword list and keep each run's 30-day series to build your own history.

### Integrations and API

You can start runs through the Apify API, schedule them in Apify Console (for example daily or weekly), and connect the results to the integrations and webhooks available on Apify. Every run stores its results in a dataset that you can download or read through the API.

Python example with the `apify-client` package:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("clover_folktale/wechat-index-scraper").call(run_input={
    "keywords": ["咖啡", "新能源汽车", "瑞幸"],
    "maxResults": 3,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["keyword"], item["latestIndex"], item["peakDate"])
```

### Tips and limits

- **Period:** one keyword gives one record with the last 30 days. Dates run up to the day before the run, in China time.
- **What the numbers mean:** daily values are WeChat's own index numbers. They are useful for comparing keywords and days, not absolute search counts.
- **Keywords without an index:** a keyword WeChat has no index for (very rare terms, or spelling mistakes) returns nothing. It is skipped and logged, and if too many keywords return nothing (5 keywords without an index) the run stops to protect your budget.
- **How to write keywords:** pass the keyword as people write it on WeChat. Chinese keywords return the richest series.
- **Which fields are often empty:** none for keywords that have an index. A keyword without an index gives no record at all.
- **Order and limits:** records come in the order of your keyword list. Duplicate keywords are dropped, and only the first `maxResults` distinct keywords are looked up (maximum 5000). Keywords past that point are never looked up, even if some earlier keywords had no index, so a run can return fewer than `maxResults` records.
- **Stability:** the Actor retries transient errors on its own and stops cleanly instead of failing half-way.
- **Free plan:** runs from free Apify accounts stop immediately and nothing is charged.

### FAQ

#### Do I need a WeChat account or login?

No. You do not need a WeChat account, login, cookies or proxies. You only need an Apify account on a paid plan.

#### Is it legal to use this data?

The Actor returns only public data: the popularity index any WeChat user can open from the WeChat search page. It returns no account data and no personal data, such as phone numbers or messages. You are responsible for how you use the data and for following the laws that apply to you.

#### How fresh is the data?

Each run fetches the data at run time. The series covers the last 30 days and ends on the day before the run (China time).

#### Can I get a longer period than 30 days?

Not at the moment; each keyword gives the last 30 days. To build a longer history, schedule regular runs and keep each run's data. If you need a field or a longer period, open an issue from the Actor page and it will be looked at.

#### Why did a keyword return no record?

WeChat has no index for that keyword, usually because it is very rare or misspelled. Try the spelling people use on WeChat, ideally in Chinese. The $0.15 start fee for that lookup is still charged, but no result fee. For keywords that do have an index, no fields are empty.

#### How many keywords can I look up?

Up to 5000 keyword trends per run, set with `maxResults`. Only the first `maxResults` distinct keywords in your list are looked up. Each keyword with an index costs $0.28.

#### Can I schedule runs and export the results?

Yes. You can schedule runs in Apify Console, start them through the API, and export each dataset as JSON, CSV, Excel and other formats.

#### Does it work on the free Apify plan?

No. Runs from free accounts stop immediately and nothing is charged.

### More tools from the same developer

- [WeChat Official Account 公众号 Scraper - Articles & Read Counts](https://apify.com/clover_folktale/wechat-scraper)
- [Weibo 微博 Scraper - Posts, Comments, User IDs & IP Location](https://apify.com/clover_folktale/weibo-scraper)
- [Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & User IP](https://apify.com/clover_folktale/xiaohongshu-scraper)
- [Douyin 抖音 Scraper - Videos, Comments, User IDs & IP Location](https://apify.com/clover_folktale/douyin-scraper)
- [Zhihu 知乎 Scraper - Answers, Articles, Comments & Users](https://apify.com/clover_folktale/zhihu-scraper)
- [Bilibili B站 Scraper - Videos, Comments, Subtitles & User IDs](https://apify.com/clover_folktale/bilibili-scraper)

# Actor input Schema

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

Keywords to look up, Chinese works best (for example 咖啡 or 新能源汽车). One trend record per keyword, in the order given. Falls back to 咖啡 (coffee) when empty.

## `maxResults` (type: `integer`):

Maximum number of keyword trends to return in total for this run. You are charged per keyword trend returned. Available on paid Apify plans only.

## Actor input object example

```json
{
  "keywords": [
    "咖啡"
  ],
  "maxResults": 20
}
```

# Actor output Schema

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

All scraped items (JSON, CSV, Excel via the dataset API).

# 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": [
        "咖啡"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("clover_folktale/wechat-index-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 = { "keywords": ["咖啡"] }

# Run the Actor and wait for it to finish
run = client.actor("clover_folktale/wechat-index-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 '{
  "keywords": [
    "咖啡"
  ]
}' |
apify call clover_folktale/wechat-index-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clover_folktale/wechat-index-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/nxywPAqAQBtD3Z6H8/builds/tfeF1wWkqaXip563O/openapi.json
