Zhihu API

Also known as知乎知乎问答知乎网

16 endpoints read Zhihu: posts, articles, pins (想法), questions, answers, users, columns, comments. From $0.0020 a call. No Zhihu login and no cookie; a failed call is free.

Endpoints16 endpointsin 9 groups, one response shape
PriceFrom $0.0020per call. Failed calls are free
When an upstream failsRetried for youChecked every day with real calls · 4 days on record
DataFetched liveboards are 10-minute snapshots

One call, as it came back

A recorded call, fields already tidied up: ready for an AI or a spreadsheet.
Recorded
GET/v1/zhihu/posts/search$0.0020
FieldValue
typearticle
published_at2026-03-03 08:11 UTC
author.followers10,699
metrics.likes224
metrics.comments3
metrics.favorites0

The first 6 rows of a response recorded 2026-10-12 19:18 UTC.

Run it in the Playground · $0.0020
Recorded response
{
  "code": "ok",
  "request_id": "87ee6f95-7dde-47c6-8b04-4ec1594169d0",
  "data": {
    "items": [
      {
        "id": "3250756632",
        "url": "https://www.zhihu.com/answer/3250756632",
        "type": "article",
        "title": "咖啡机推荐入门指南:一篇讲清楚",
        "text": "咖啡机推荐这件事,越简单越好",
        "published_at": "2026-03-03T08:11:12.000Z",
        "author": {
          "id": "cbf102a15e966bc955fc8f2b452b62fa",
          "username": "laozhou_gear",
          "name": "老周说装备",
          "avatar_url": "https://picx.zhimg.com/v2-671ebb705befb9d2492d_l.jpg",
          "followers": 10699
        },
        "metrics": { "likes": 224, "comments": 3, "favorites": 0 },
        "post_id": null,
        "parent_id": null
      },
      // … 16 more
    ]
  },
  "page": {
    "next_cursor": "c1.Km3J8vP9d1xw85c8i-GQVxvJL7XKz0me6b3X34wR",
    "cursor_expires_at": "2026-10-12T20:18:45.000Z",
    "has_more": true,
    "returned": 17
  },
  "warnings": [],
  "meta": {
    "capability": "zhihu.posts.search",
    "result_status": "complete",
    "fetched_at": "2026-10-12T19:18:45.000Z",
    "cached": false,
    "replayed": false,
    "unavailable": {
      "lang": "capability",
      "author.verified": "capability",
      "metrics.shares": "platform",
      "metrics.views": "capability",
      "metrics.reposts": "platform",
      "images": "capability",
      "hashtags": "platform",
      "mentions": "capability",
      "is_pinned": "capability",
      "root_id": "platform"
    },
    "billing": {
      "amount": "0.002",
      "currency": "USD",
      "balance_after": "9.998"
    }
  }
}

From a response recorded 2026-10-12 19:18 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.

What you can get

Each row is an endpoint: what it returns and what one call costs.

EndpointPathReturnsPrice
Posts1
Zhihu content searchGET/v1/zhihu/posts/searchPost list$0.0020
Articles1
Zhihu article detailGET/v1/zhihu/articles/getPost$0.0020
Pins (想法)1
Zhihu pin detailGET/v1/zhihu/pins/getPost$0.0020
Questions2
Zhihu question detailGET/v1/zhihu/questions/getPost$0.0020
Zhihu question answersGET/v1/zhihu/questions/answers/listPost list$0.0020
Answers2
Zhihu answer detailGET/v1/zhihu/answers/getPost$0.0020
Zhihu answer commentsGET/v1/zhihu/answers/comments/listComment list$0.0020
Users6
Zhihu user searchGET/v1/zhihu/users/searchAccount list$0.0020
Zhihu user profileGET/v1/zhihu/users/getAccount$0.0020
Zhihu user answersGET/v1/zhihu/users/answers/listPost list$0.0020
Zhihu user articlesGET/v1/zhihu/users/articles/listPost list$0.0020
Zhihu user followersGET/v1/zhihu/users/followers/listAccount list$0.0020
Zhihu user pinsGET/v1/zhihu/users/pins/listPost list$0.0020
Columns1
Zhihu column articlesGET/v1/zhihu/columns/articles/listPost list$0.0020
Comments1
Zhihu comment repliesGET/v1/zhihu/comments/replies/listComment list$0.0020
Zhihu hot listGET/v1/zhihu/trends/listTrend list$0.0020
Prices are the prices in force. A call that fails, or whose result is uncertain, costs nothing.Zhihu API pricing →Zhihu data in your AI →See live status →

What people build with it

Ready-made tasks your AI can run on Zhihu data. Each is a few calls under a spending cap.

Ask about Zhihu right inside Claude or Cursor

Add the DataXAPI MCP server and the AI finds the Zhihu endpoint it needs and calls it; answers link back to the source. You pay for the calls it makes.

Zhihu MCP setup →
https://api.dataxapi.com/mcp

Start in three steps

The call shown here is Zhihu content search. Every other Zhihu endpoint is called the same way and answers in the same envelope.

Get a key

Sign in with an emailed code or Google. Free trial, no card needed.

Call it, or let your AI call it

One GET from your code. Or paste this prompt into your agent with your key in it: it sets itself up, then finds and calls these endpoints by itself.

Read https://dataxapi.com/agents.md and set up DataXAPI in this agent. My API key is dx_live_…; use it for every DataXAPI call.

Sign in to copy it with your key

Read the same shape every time

Items are in data.items (one object in data.item), the next page in page.next_cursor, the charge in meta.billing.amount. A failed call is not charged.

Read the quickstart →
curl -G "https://api.dataxapi.com/v1/zhihu/posts/search" \
  --data-urlencode "query=咖啡机推荐" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.zhihu.posts.search(query="咖啡机推荐")
print(result["data"]["items"])
import { DataXAPI } from "@dataxapi/sdk";

const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.zhihu.posts.search({ query: "咖啡机推荐" });
console.log(result.data.items);
dataxapi call zhihu.posts.search 'query=咖啡机推荐'
{
  "mcpServers": {
    "dataxapi": {
      "type": "http",
      "url": "https://api.dataxapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${DATAXAPI_API_KEY}"
      }
    }
  }
}

Add this to your MCP client, then ask your agent to call zhihu.posts.search.

Edge cases

What the Zhihu endpoints do at their edges, and what to check when a call does not return what you expected.

Page sizes
A list returns 10 to 50 items a page, depending on the endpoint. 9 of the 11 lists go on to a next page: page.next_cursor, passed back as cursor, each page a call of its own. The others return one page only.
Fields it cannot give
15 of the 16 endpoints cannot fill every field of the object they return. Each endpoint's page lists which, and every answer repeats them in meta.unavailable: a missing field is never a silent zero.
A missing object that reads as empty
Zhihu answer comments: an object that does not exist cannot be told from one with nothing under it, so the answer is an empty result, not a 404, and is charged as an empty result is.
Snapshots
Zhihu hot list: a board is a snapshot refreshed every 10 minutes, and meta.fetched_at says when it was taken.
Users by url_token
Users are named by the handle in their profile address (url_token), such as zhihuadmin, not by a number.
The first 20 answers only
A question's answers come as the first 20 in Zhihu's own order; there is no next page.
Answer detail has no counts
An answer read on its own comes with no counts. A question's answers and a user's answers carry upvotes and comment counts.
The column ID
A column is named by the last part of its address: the word after zhuanlan.zhihu.com/, or the one starting with c_.
Heat is approximate
Hot list heat comes as “万热度” and is given as that number times 10,000, marked approximate. An entry's ID is its question's.

Questions about the Zhihu API

Short answers. The details are on each endpoint's page.

How is the Zhihu API priced?

Per call, no subscription. All 16 endpoints cost $0.0020 a call. You are charged when data comes back; a failed call costs nothing.

Do I need a Zhihu account or a cookie?

No. One DataXAPI key is all you hold: no Zhihu login, no cookie, no device to keep alive. The endpoints return publicly visible data only.

Is the data live?

A call fetches from Zhihu at that moment, and meta.fetched_at says when. Zhihu hot list: a board is a snapshot refreshed every 10 minutes. A result is kept for 24 hours, so a retry with the same Idempotency-Key is not charged again.

Is an empty result charged?

A list that comes back empty is charged its price: the search was run. Reading one object that does not exist answers not_found and is free.

What happens when Zhihu changes something?

A call that fails is not charged, whatever the reason. An endpoint that is paused answers capability_paused, also free, and GET /v1/catalog/status says what is up right now.

Related

Call Zhihu with one key.

Free trial on sign-up: up to 50 calls at $0.0020. No card. No Zhihu login, no cookie, no subscription. A failed call is free.

Start free