SocialToAIStart freeConsole
POST/v1/call/wechat.keyword_history

WeChat Index API

Only on WeChat Articles.

Get a keyword's WeChat Index over the last 30 days, one figure a day. The WeChat Index is WeChat's score of attention across its search, articles, Moments and more, not a count of searches, and is not comparable with Douyin's or Xiaohongshu's; days are calendar days in China time (UTC+8). A call to the WeChat Index API costs 60 credits ($0.12 to $0.20 depending on the pack); failed calls are free.

100 credits on sign-up, no card needed
60 creditsper call, ≈ $0.12–$0.20
Up to 1 itemsfirst page only
1.8 KBsample response, 1 item

Last updated:

Daily watch: tell your AI “watch this daily” and this call runs by itself every day, sending only what is new: at most 1,860 credits a month, about $6.20. How to set it up

What you get from the WeChat Index API.
From a recorded answer.

A recorded call returned 1 item; here is the first, field by field. Names and text are removed from the sample; the numbers are as recorded.

FieldIn the recorded answer
title露营
urlnull
ranknull
heatnull
fields.points7 entries

60 credits a call (≈ $0.12–$0.20): about 50 calls for $10.

WeChat Index API: request and response

curl https://api.socialtoai.com/v1/call/wechat.keyword_history \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "keyword": "咖啡"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/call/wechat.keyword_history",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "keyword": "咖啡",    },)print(response.json())
# Connected over MCP? Ask in plain words.Use the WeChat Index interface (wechat.keyword_history) with keyword: 咖啡.# Your AI calls the call tool with:{  "keyword": "咖啡"}
Sign in to run60 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.8 KB60 credits
{  "op": "wechat.keyword_history",  "platform": "wechat",  "status": "ok",  "items": [    {      "platform": "wechat",      "id": "露营",      "ref": "露营",      "approx": [],      "type": "entry",      "entry_type": "keyword_history",      "title": "露营",      "url": null,      "rank": null,      "heat": null,      "fields": {        "points": [          {            "date": "2026-09-29T00:00:00.000Z",            "search_index": null,            "composite_index": 38626358,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-09-30T00:00:00.000Z",            "search_index": null,            "composite_index": 35843833,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-10-01T00:00:00.000Z",            "search_index": null,            "composite_index": 38536619,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-10-02T00:00:00.000Z",            "search_index": null,            "composite_index": 43998859,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-10-03T00:00:00.000Z",            "search_index": null,            "composite_index": 51530144,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-10-04T00:00:00.000Z",            "search_index": null,            "composite_index": 47706506,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          },          {            "date": "2026-10-05T00:00:00.000Z",            "search_index": null,            "composite_index": 52354075,            "notes": null,            "impressions": null,            "views": null,            "engagements": null          }        ]      }    }  ],  "unavailable": ["fields.points.search_index", "fields.points.notes", "fields.points.impressions", "fields.points.views", "fields.points.engagements"],  "page": {    "has_more": false  },  "cost_credits": 60}
entry_type
keyword_history

Names and text were removed from the sample; the numbers are as recorded.

Sample data1 of the 1 items recorded

WeChat Index API parameters.
1 parameter, all required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
keywordstringRequired—One keyword
First page only: up to 1 items, with no cursor parameter and no next page.

WeChat Index API response fields.
What WeChat Articles cannot give is marked.

FieldTypeMeaning
items[].titlestringThe entry's title or name.
items[].urlstringA link that opens it; null where the platform's list has none.
items[].rankintegerPosition on a board, from 1.
items[].heatintegerThe platform's heat score.
items[].fields.pointsarrayOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.search_index, notes, impressions, views, engagements: always null here
nullFields WeChat Articles cannot give

Read null as “WeChat Articles did not give this”, not as zero. These are always null on this call:

  • fields.points.search_indexOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.
  • fields.points.notesOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.
  • fields.points.impressionsOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.
  • fields.points.viewsOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.
  • fields.points.engagementsOne entry per day, oldest first: date, search_index, composite_index, notes, impressions, views, engagements.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

WeChat Index API: paging and billing.

One call returns the first page only, up to 1 items, with no cursor, for 60 credits.
A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 60 credits.
On this call WeChat Articles cannot tell a article that does not exist from one with no data: both come back as empty, and both are charged.

5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

Interface last tested: 2026-10-30. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.

Once connected over MCP, these questions use the WeChat Index API.

  1. Get a keyword's WeChat Index over the last 30 days, one figure a day: 咖啡.
    call {"op":"wechat.keyword_history","keyword":"咖啡"}
    60 credits

Give this to your AI.
Copy it into Claude or ChatGPT.

How to connect
Prompt
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Get a keyword's WeChat Index over the last 30 days, one figure a day: 咖啡.Call the call tool with {"op":"wechat.keyword_history","keyword":"咖啡"}. Needed: keyword.It gives its first page only, up to 1 items, with no next page; each call costs 60 credits.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.

Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.

The interface of the same name on other platforms.

All platforms and prices
POST/v1/call/wechat.keyword_history{ "keyword": "咖啡" }60 creditsper call
Change the op in the path. The response around the items keeps the same shape.

Read next.

WeChat Articles official API: access, prices and limits

What its own API allows, who can use it and what it costs, with sources.

How to let AI read WeChat Official Account articles

let your AI read WeChat Official Account articles

Turn WeChat Official Account articles into RSS, or push them to Feishu and WeCom

turn WeChat Official Account articles into a private RSS feed, or push them to Feishu and WeCom

WeChat Articles MCP server

Let your AI read WeChat Articles.

WeChat Index API: questions.
Short answers.

All WeChat Articles data APIs
Do I need a WeChat Articles account or WeChat Articles's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on WeChat Articles; you never sign in to WeChat Articles or apply for anything there.
Can I get the next page?
No. On WeChat Articles this interface gives its first page only (up to 1 items): the response carries no cursor, and page.has_more is always false.
What does one call cost in dollars?
60 credits: $0.20 at 300 credits per dollar (purchases from $10), $0.12 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.
Am I charged when a call fails or finds nothing?
A failed call costs 0 credits and is never retried on its own. A call that runs and finds nothing is a successful call: status is "empty" and it costs 60 credits. This interface cannot tell a target that does not exist from one with no data, so both are charged as empty.
How much does one call return?
One call returns the first page only, up to 1 items, with no cursor, for 60 credits.
Is there a rate limit?
5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.
How do I use it from Claude, ChatGPT or Cursor?
Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls call for you.
Start free · 100 credits

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed