{
  "openapi": "3.0.1",
  "info": {
    "title": "Kuaishou 快手 Scraper - Videos, Comments, Users & Hot Lists",
    "description": "Scrape Kuaishou (快手, also known as Kwai): search videos, photo posts, live rooms, sounds and hashtags by keyword, list a user's or hashtag's videos, get video details, comments with replies and IP region, find users, read hot lists. No login or cookies needed. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "jIkgiQtvbPj4WZ8Er"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clover_folktale~kuaishou-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clover_folktale-kuaishou-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~kuaishou-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clover_folktale-kuaishou-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~kuaishou-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clover_folktale-kuaishou-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",
              "searchUsers",
              "userVideos",
              "videoDetails",
              "comments",
              "hotLists",
              "hashtagVideos"
            ],
            "type": "string",
            "description": "What to scrape: videos (or photos, live rooms, sounds, hashtags) found by keyword, users found by keyword, the videos of users, details of single videos, comments, ranking lists, or the videos of hashtags.",
            "default": "search"
          },
          "keywords": {
            "title": "Keywords (mode: search)",
            "type": "array",
            "description": "Search keywords; each keyword is a separate search. Falls back to \"美食\" when empty.",
            "items": {
              "type": "string"
            }
          },
          "userKeywords": {
            "title": "Keywords (mode: searchUsers)",
            "type": "array",
            "description": "Search keywords; each keyword is a separate user search. Falls back to \"美食\" when empty.",
            "items": {
              "type": "string"
            }
          },
          "users": {
            "title": "Users (mode: userVideos)",
            "type": "array",
            "description": "Numeric user IDs such as 2613731401 (the userId field of a user search result). Profile links are not supported. Falls back to a sample user when empty.",
            "items": {
              "type": "string"
            }
          },
          "videos": {
            "title": "Videos (modes: videoDetails, comments)",
            "type": "array",
            "description": "Numeric video IDs or Kuaishou video links (a pasted share message works). A link costs one extra request in comments mode. Falls back to a sample video when empty.",
            "items": {
              "type": "string"
            }
          },
          "hashtags": {
            "title": "Hashtags (mode: hashtagVideos)",
            "type": "array",
            "description": "Hashtag names such as 美食 or #美食. Falls back to \"美食\" when empty.",
            "items": {
              "type": "string"
            }
          },
          "lists": {
            "title": "Lists (mode: hotLists)",
            "type": "array",
            "description": "Which ranking lists to read; each list is a separate input.",
            "items": {
              "type": "string",
              "enum": [
                "hot",
                "entertainment",
                "society",
                "useful",
                "challenge",
                "people",
                "live",
                "shopping",
                "brand",
                "music"
              ],
              "enumTitles": [
                "Hot list",
                "Entertainment board",
                "Society board",
                "Useful board",
                "Challenge board",
                "Hot-search people",
                "Live ranking",
                "Shopping streamers",
                "Brand ranking",
                "Music ranking"
              ]
            }
          },
          "searchType": {
            "title": "Search for (mode: search)",
            "enum": [
              "video",
              "image",
              "live",
              "music",
              "tag"
            ],
            "type": "string",
            "description": "What the keyword search returns.",
            "default": "video"
          },
          "userSort": {
            "title": "Order (mode: userVideos)",
            "enum": [
              "latest",
              "popular"
            ],
            "type": "string",
            "description": "Latest videos, or the user's most popular videos.",
            "default": "latest"
          },
          "hashtagTab": {
            "title": "Order (mode: hashtagVideos)",
            "enum": [
              "hot",
              "latest"
            ],
            "type": "string",
            "description": "Most popular or newest videos of the hashtag.",
            "default": "hot"
          },
          "includeReplies": {
            "title": "Include replies (mode: comments)",
            "type": "boolean",
            "description": "Also output the replies under each comment. Replies count toward the limit and are charged like comments.",
            "default": false
          },
          "maxResults": {
            "title": "Max results per keyword, user, video, hashtag or list",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum items for each input (up to 1000). You are charged $0.002 per item returned, plus a $0.0125 start fee per run. Keyword search, user search and the latest videos of a user pay the start fee again for every further input.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}