Get the hot-search list
Weibo’s live hot-search list (热搜) with the exact heat score behind every topic. Paid placements are left out unless includePromoted is true. 1 credit.
/trending Search & trending https://api.fetchlayer.dev/weibo/trending Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
includePromoted boolean optional Include the paid placements Weibo mixes into the list, marked isPromoted. (default: false)
limit integer optional Maximum topics returned, up to 60, or -1 for the maximum. Left out, the whole list.
format string optional json or markdown, lowercase; any other value is a 400. Over MCP, markdown returns the result rendered as text; the REST API accepts it and returns JSON. (default: json)
timeoutMs integer optional Time limit for the whole request, in milliseconds (1000–120000); a value outside that range is a 400. When it runs out, a paged request returns what it has with nextCursor, billed for the pages it read; a request with nothing to return yet fails with a 503 you can retry, marked with the response header X-Timeout-Source: caller.
Response Fields
trending
Get the hot-search list
transport string The data source: always the platform id, "weibo".
scrapedAt string When the result was produced (ISO 8601).
notes string[] Caveats you can act on: a list that ends where Weibo stops showing more, long posts shortened in a list, paid placements left out. Empty when there are none. An empty result always comes with a note explaining it.
skippedRecords object[] Records Weibo sent that could not be read, each as { id, reason, fieldsPresent }; id may be null. Normally empty. One unreadable record never costs the rest of the response or the cursor.
pagesFetched number Full pages of results returned, minimum 1 — 20 comments or replies, 50 search posts, 48 media posts — which is what the request costs: one credit each.
topics object[] The list, in rank order.
topics[].rank number Position on the list.
topics[].word string The topic. Pass it to search-posts to read the posts behind it.
topics[].heat number | null Weibo’s heat score, exact.
topics[].category string | null Weibo’s category, such as 民生新闻.
topics[].label string | null Weibo’s badge, such as 新 (new) or 热 (hot), or null.
topics[].onListSince string | null When the topic joined the list (ISO 8601).
topics[].searchUrl string The topic’s search page on Weibo.
topics[].isPromoted boolean True for a paid placement; only present in the list with includePromoted.
topicCount number How many topics are in this response.
Request
curl -X POST "https://api.fetchlayer.dev/weibo/trending" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"limit":50}'Response
{
"transport": "weibo",
"skippedRecords": [],
"scrapedAt": "2026-10-15T15:24:48.000Z",
"notes": [
"2 paid placements were left out; includePromoted: true includes them."
],
"pagesFetched": 1,
"topics": [
{
"rank": 1,
"word": "深圳全市全天禁鸣喇叭5年",
"heat": 1095555,
"category": "民生新闻",
"label": "新",
"onListSince": "2026-10-15T14:55:22.000Z",
"searchUrl": "https://s.weibo.com/weibo?q=%23%E6%B7%B1%E5%9C%B3%E5%85%A8%E5%B8%82%E5%85%A8%E5%A4%A9%E7%A6%81%E9%B8%A3%E5%96%87%E5%8F%AD5%E5%B9%B4%23",
"isPromoted": false
}
],
"topicCount": 50
}