{
  "openapi": "3.0.0",
  "info": {
    "title": "Douyin (TikTok China) Hot Search API (V1)",
    "version": "1.0.0",
    "description": "Get Douyin (TikTok China) hot content Search data, including ranked content items, creator signals, engagement metrics, enriched video metadata, and pagination, for trend discovery, content research, and campaign planning."
  },
  "servers": [
    {
      "url": "https://api.justoneapi.com",
      "description": "prod-global (default)"
    },
    {
      "url": "http://47.117.133.51:30015",
      "description": "prod-cn (optional for Mainland China)"
    }
  ],
  "paths": {
    "/api/douyin/hot-search/v1": {
      "get": {
        "tags": [
          "Douyin (TikTok China)"
        ],
        "summary": "Hot Search",
        "description": "Get Douyin (TikTok China) hot content Search data, including ranked content items, creator signals, engagement metrics, enriched video metadata, and pagination, for trend discovery, content research, and campaign planning.",
        "operationId": "getApiDouyinHotSearchV1",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "description": "Access token for this API service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Optional search keyword.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentType",
            "in": "query",
            "description": "Top-level content type. Only one content type can be selected.\n\nAvailable Values:\n- `ALL`: All content types.\n- `FASHION`: Fashion.\n- `TECHNOLOGY`: Technology.\n- `SCIENCE`: Science.\n- `PHOTOGRAPHY`: Photography and videography.\n- `FOOD`: Food.\n- `MOTHER_BABY`: Mother and baby.\n- `PARENTING`: Parenting.\n- `DRAMA`: Drama.\n- `GAME`: Game.\n- `AUTOMOTIVE`: Automotive.\n- `ANIMAL`: Animal.\n- `TRAVEL`: Travel.\n- `DANCE`: Dance.\n- `TRADITIONAL_CULTURE`: Traditional culture.\n- `ART`: Art.\n- `SPORTS`: Sports.\n- `MUSIC`: Music.\n- `LIFE_RECORD`: Life records.\n- `HOME_LIVING`: Home and living.\n- `LEISURE_ENTERTAINMENT`: Leisure entertainment.\n- `WORKPLACE`: Workplace.\n- `AGRICULTURE`: Agriculture.\n- `CASUAL`: Casual videos.\n- `ACG`: Animation, comics, and games.\n- `MOVIE`: Movie.\n- `TV_SERIES`: TV series.\n- `VARIETY_SHOW`: Variety show.\n- `CELEBRITY`: Celebrity.\n- `HUMANITIES_SOCIAL_SCIENCE`: Humanities and social science.\n- `EDUCATION_CAMPUS`: Education and campus.\n- `EMOTION`: Emotion.\n- `FINANCE`: Finance.\n- `PUBLIC_WELFARE`: Public welfare.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "ALL",
              "description": "Douyin Hot Search content type.",
              "enum": [
                "ALL",
                "FASHION",
                "TECHNOLOGY",
                "SCIENCE",
                "PHOTOGRAPHY",
                "FOOD",
                "MOTHER_BABY",
                "PARENTING",
                "DRAMA",
                "GAME",
                "AUTOMOTIVE",
                "ANIMAL",
                "TRAVEL",
                "DANCE",
                "TRADITIONAL_CULTURE",
                "ART",
                "SPORTS",
                "MUSIC",
                "LIFE_RECORD",
                "HOME_LIVING",
                "LEISURE_ENTERTAINMENT",
                "WORKPLACE",
                "AGRICULTURE",
                "CASUAL",
                "ACG",
                "MOVIE",
                "TV_SERIES",
                "VARIETY_SHOW",
                "CELEBRITY",
                "HUMANITIES_SOCIAL_SCIENCE",
                "EDUCATION_CAMPUS",
                "EMOTION",
                "FINANCE",
                "PUBLIC_WELFARE"
              ]
            }
          },
          {
            "name": "videoType",
            "in": "query",
            "description": "Video type filter.\n\nAvailable Values:\n- `ALL`: All video types.\n- `XINGTU_VIDEO`: Xingtu commercial videos.\n- `NATURAL_VIDEO`: Natural videos.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "ALL",
              "description": "Douyin Hot Search video type.",
              "enum": [
                "ALL",
                "XINGTU_VIDEO",
                "NATURAL_VIDEO"
              ]
            }
          },
          {
            "name": "sortType",
            "in": "query",
            "description": "Sorting criteria for hot content results.\n\nAvailable Values:\n- `COMPREHENSIVE`: Comprehensive ranking.\n- `HIGH_INTERACTION`: Highest interaction count.\n- `HIGH_LIKE`: Highest like count.\n- `HIGH_COMMENT`: Highest comment count.\n- `HIGH_SHARE`: Highest share count.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "COMPREHENSIVE",
              "description": "Douyin Hot Search sort type.",
              "enum": [
                "COMPREHENSIVE",
                "HIGH_INTERACTION",
                "HIGH_LIKE",
                "HIGH_COMMENT",
                "HIGH_SHARE"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (starting from 1). Page size is fixed at 10.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "likeCountMin",
            "in": "query",
            "description": "Minimum raw like count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "likeCountMax",
            "in": "query",
            "description": "Maximum raw like count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "commentCountMin",
            "in": "query",
            "description": "Minimum raw comment count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "commentCountMax",
            "in": "query",
            "description": "Maximum raw comment count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "shareCountMin",
            "in": "query",
            "description": "Minimum raw share count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "shareCountMax",
            "in": "query",
            "description": "Maximum raw share count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "interactionCountMin",
            "in": "query",
            "description": "Minimum raw interaction count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "interactionCountMax",
            "in": "query",
            "description": "Maximum raw interaction count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "followerCountMin",
            "in": "query",
            "description": "Minimum raw creator follower count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "followerCountMax",
            "in": "query",
            "description": "Maximum raw creator follower count.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "0",
                        "100",
                        "101",
                        "202",
                        "300",
                        "301",
                        "302",
                        "303",
                        "400",
                        "404",
                        "500",
                        "600",
                        "601",
                        "602"
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object"
                    },
                    "recordTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "requestId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-order": "14001050",
        "x-api-version": "v1",
        "x-highlights": []
      }
    }
  },
  "components": {}
}