{
  "openapi": "3.0.1",
  "info": {
    "title": "Zhihu 知乎 Scraper - Answers, Articles, Comments & Hot List",
    "description": "Scrape Zhihu (知乎) long-form Chinese Q&A: search answers, articles and pins, all answers of a question, comments and replies, the hot list, user profiles, followers and full answer text. Public author IDs and IP location where shown. No login or cookies needed. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "VQaF5p0n9gWWh3RCG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clover_folktale~zhihu-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clover_folktale-zhihu-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/clover_folktale~zhihu-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clover_folktale-zhihu-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/clover_folktale~zhihu-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clover_folktale-zhihu-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "question",
              "comments",
              "replies",
              "hot",
              "user",
              "userContent",
              "followers",
              "following",
              "detail"
            ],
            "type": "string",
            "description": "What to scrape. Each mode reads only the fields named in its title.",
            "default": "search"
          },
          "keyword": {
            "title": "Keyword (mode: search)",
            "type": "string",
            "description": "Search keyword, Chinese or English (falls back to \"python\" when empty)."
          },
          "searchType": {
            "title": "Result type (mode: search)",
            "enum": [
              "all",
              "answers",
              "articles"
            ],
            "type": "string",
            "description": "Answers and articles only, or everything including pins.",
            "default": "all"
          },
          "sort": {
            "title": "Sort (mode: search)",
            "enum": [
              "relevance",
              "votes",
              "newest"
            ],
            "type": "string",
            "description": "Zhihu's default ranking, most upvoted, or newest first.",
            "default": "relevance"
          },
          "timeRange": {
            "title": "Time range (mode: search)",
            "enum": [
              "any",
              "day",
              "week",
              "month",
              "3months",
              "6months",
              "year"
            ],
            "type": "string",
            "description": "Only content published within this period.",
            "default": "any"
          },
          "questions": {
            "title": "Questions (mode: question)",
            "type": "array",
            "description": "Question links (https://www.zhihu.com/question/<id>) or question IDs. Returns up to 200 answers per question.",
            "items": {
              "type": "string"
            }
          },
          "answerOrder": {
            "title": "Answer order (mode: question)",
            "enum": [
              "default",
              "newest"
            ],
            "type": "string",
            "description": "Zhihu's default order or the most recently updated first.",
            "default": "default"
          },
          "answers": {
            "title": "Answers (mode: comments)",
            "type": "array",
            "description": "Answer links (https://www.zhihu.com/question/<id>/answer/<id>) or answer IDs.",
            "items": {
              "type": "string"
            }
          },
          "commentIds": {
            "title": "Comment IDs (mode: replies)",
            "type": "array",
            "description": "Comment IDs (the commentId of a comment) to fetch all replies of.",
            "items": {
              "type": "string"
            }
          },
          "commentSort": {
            "title": "Sort comments (modes: comments, replies)",
            "enum": [
              "hot",
              "newest"
            ],
            "type": "string",
            "description": "Hottest first or newest first.",
            "default": "hot"
          },
          "includeReplies": {
            "title": "Include replies (mode: comments)",
            "type": "boolean",
            "description": "Also output the first replies Zhihu shows under each comment (not the full reply list; use the replies mode for that). Each reply is one more result.",
            "default": false
          },
          "users": {
            "title": "Users (modes: user, userContent, followers, following)",
            "type": "array",
            "description": "Profile links (https://www.zhihu.com/people/<name>) or the name after /people/.",
            "items": {
              "type": "string"
            }
          },
          "userContentType": {
            "title": "Content type (mode: userContent)",
            "enum": [
              "answers",
              "articles",
              "pins"
            ],
            "type": "string",
            "description": "Which of the user's posts to list.",
            "default": "answers"
          },
          "userContentSort": {
            "title": "Sort (mode: userContent)",
            "enum": [
              "newest",
              "votes"
            ],
            "type": "string",
            "description": "Newest first or most upvoted (answers and articles; pins are always newest first).",
            "default": "newest"
          },
          "links": {
            "title": "Links (mode: detail)",
            "type": "array",
            "description": "Answer links (https://www.zhihu.com/question/<id>/answer/<id>) or article links (https://zhuanlan.zhihu.com/p/<id>).",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of items to return in total for this run. You are charged per item returned. On the free Apify plan a run returns at most 20 results in total; any paid Apify plan removes the limit.",
            "default": 20
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}