{
  "openapi": "3.0.1",
  "info": {
    "title": "Weibo 微博 Scraper - Hot Search, Posts, Comments & Users",
    "description": "Scrape Sina Weibo (微博): hot search list (微博热搜), keyword and date-range post search, post details, comments and replies with commenter IP location, reposts, reactions and user profiles. No login or cookies needed. For social listening and China market research. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "Vrm5OAPy9oRUJJ5Rm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clover_folktale~weibo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clover_folktale-weibo-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~weibo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clover_folktale-weibo-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~weibo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clover_folktale-weibo-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",
              "post",
              "comments",
              "user",
              "hot",
              "following",
              "reposts",
              "likes",
              "replies",
              "userSearch",
              "advancedSearch",
              "topicSearch",
              "videoSearch",
              "picSearch",
              "userVideos",
              "userPhotos",
              "userArticles",
              "rankings",
              "relatedSearches",
              "videoCollections",
              "recommendTimeline",
              "videoFeed",
              "homeFeed"
            ],
            "type": "string",
            "description": "What to scrape.",
            "default": "search"
          },
          "keyword": {
            "title": "Keyword (modes: search, userSearch, advancedSearch, topicSearch, videoSearch, picSearch, relatedSearches)",
            "type": "string",
            "description": "Search keyword. Chinese keywords return the best results.",
            "default": "原神"
          },
          "posts": {
            "title": "Posts (modes: post, comments, reposts, likes)",
            "type": "array",
            "description": "Weibo post links or IDs, e.g. https://weibo.com/6593199887/Rlf5vlWRz or 5350628895231161.",
            "items": {
              "type": "string"
            }
          },
          "users": {
            "title": "Users (modes: user, following, userVideos, userPhotos, userArticles, videoCollections)",
            "type": "array",
            "description": "Weibo UIDs or profile links, e.g. 6593199887 or https://weibo.com/u/6593199887. Accounts that hide their following list return nothing and are not billed.",
            "items": {
              "type": "string"
            }
          },
          "includeReplies": {
            "title": "Include replies (mode: comments)",
            "type": "boolean",
            "description": "Also return the replies shown under each comment (the first replies the platform includes with the comment; long reply threads may be partial). Each reply is billed like a comment.",
            "default": false
          },
          "onlyOriginal": {
            "title": "Original posts only (mode: user)",
            "type": "boolean",
            "description": "Mode user: list only the posts the user wrote themselves (no reposts), about 49 per page. The profile item is still returned first.",
            "default": false
          },
          "commentIds": {
            "title": "Comment IDs (mode: replies)",
            "type": "array",
            "description": "Numeric comment IDs, e.g. the commentId of a comment returned by comments mode. Returns every reply under each comment.",
            "items": {
              "type": "string"
            }
          },
          "startDate": {
            "title": "Start date (mode: advancedSearch)",
            "type": "string",
            "description": "First day to search, like 2026-10-01. Set together with the end date, or leave both empty to search all time."
          },
          "endDate": {
            "title": "End date (mode: advancedSearch)",
            "type": "string",
            "description": "Last day to search (the whole day is included), like 2026-10-10."
          },
          "province": {
            "title": "Province (mode: userSearch)",
            "enum": [
              "",
              "安徽",
              "北京",
              "重庆",
              "福建",
              "甘肃",
              "广东",
              "广西",
              "贵州",
              "海南",
              "河北",
              "黑龙江",
              "河南",
              "湖北",
              "湖南",
              "内蒙古",
              "江苏",
              "江西",
              "吉林",
              "辽宁",
              "宁夏",
              "青海",
              "山西",
              "山东",
              "上海",
              "四川",
              "天津",
              "西藏",
              "新疆",
              "云南",
              "浙江",
              "陕西",
              "台湾",
              "香港",
              "澳门",
              "海外",
              "其他"
            ],
            "type": "string",
            "description": "Mode userSearch: only accounts located in this province. Leave empty for all regions.",
            "default": ""
          },
          "rankingType": {
            "title": "Ranking (mode: rankings)",
            "enum": [
              "hour",
              "yesterday",
              "day_before",
              "week",
              "male",
              "female",
              "entertainment",
              "life",
              "social"
            ],
            "type": "string",
            "description": "Mode rankings: which list. hour = hot posts this hour, yesterday / day_before = hot posts of that day, week = hot posts this week, male / female = hot posts among male / female readers. entertainment, life and social = ranked topics of that area (about 50 each).",
            "default": "hour"
          },
          "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.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}