curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"page": 1,
"page_size": 10,
"date_window": 24,
"sub_type": 1001,
"keyword": "",
"tags": [
{
"children": [
{
"value": 62808
},
{
"value": 62804
}
],
"value": 628
}
]
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list"
payload = {
"page": 1,
"page_size": 10,
"date_window": 24,
"sub_type": 1001,
"keyword": "",
"tags": [
{
"children": [{ "value": 62808 }, { "value": 62804 }],
"value": 628
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 1,
page_size: 10,
date_window: 24,
sub_type: 1001,
keyword: '',
tags: [{children: [{value: 62808}, {value: 62804}], value: 628}]
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => 1,
'page_size' => 10,
'date_window' => 24,
'sub_type' => 1001,
'keyword' => '',
'tags' => [
[
'children' => [
[
'value' => 62808
],
[
'value' => 62804
]
],
'value' => 628
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list"
payload := strings.NewReader("{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"request_id": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles",
"docs": "<string>",
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。",
"cache_url": "<string>",
"router": "",
"params": {},
"data": "<unknown>"
}douyin fetch_hot_total_video_list
Fetch video hot list
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"page": 1,
"page_size": 10,
"date_window": 24,
"sub_type": 1001,
"keyword": "",
"tags": [
{
"children": [
{
"value": 62808
},
{
"value": 62804
}
],
"value": 628
}
]
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list"
payload = {
"page": 1,
"page_size": 10,
"date_window": 24,
"sub_type": 1001,
"keyword": "",
"tags": [
{
"children": [{ "value": 62808 }, { "value": 62804 }],
"value": 628
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 1,
page_size: 10,
date_window: 24,
sub_type: 1001,
keyword: '',
tags: [{children: [{value: 62808}, {value: 62804}], value: 628}]
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => 1,
'page_size' => 10,
'date_window' => 24,
'sub_type' => 1001,
'keyword' => '',
'tags' => [
[
'children' => [
[
'value' => 62808
],
[
'value' => 62804
]
],
'value' => 628
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list"
payload := strings.NewReader("{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 1,\n \"page_size\": 10,\n \"date_window\": 24,\n \"sub_type\": 1001,\n \"keyword\": \"\",\n \"tags\": [\n {\n \"children\": [\n {\n \"value\": 62808\n },\n {\n \"value\": 62804\n }\n ],\n \"value\": 628\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"request_id": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles",
"docs": "<string>",
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。",
"cache_url": "<string>",
"router": "",
"params": {},
"data": "<unknown>"
}code is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/douyin/billboard/fetch_hot_total_video_list" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Page number, default 1
Items per page, default 10
Time window (hours): 1=last 1 hour, 24=last 1 day, 72=last 3 days, 168=last 7 days; default 24
Usage: Time window in hours, one of 1/24/72/168 (last 1 hour / 1 day / 3 days / 7 days), default 24
Ranking category: 1001 Overall Video, 1002 Low-follower Viral, 1003 High Completion Rate, 1004 High Follower Growth Rate, 1005 High Like Rate
Search keyword for filtering the leaderboard; empty=all
Usage: Search keyword to filter the billboard, empty for all
Vertical tag filter; leave empty for all. Tag IDs are obtained from the fetch_content_tag endpoint.
Usage: Vertical category tag filter, empty for all, tag ids come from the fetch_content_tag endpoint
API references: fetch_content_tag = GET /tikhub/douyin/billboard/fetch_content_tag (operationId: get_tikhub_douyin_billboard_fetch_content_tag).
Show child attributes
Show child attributes
[
{
"children": [{ "value": 62808 }, { "value": 62804 }],
"value": 628
}
]
Response
Successful Response
Return
- Video list
HTTP status code
Unique request identifier
Response message (EN-US)
Response message (ZH-CN)
Support message
The time the response was generated
The timestamp the response was generated
The timezone of the response time
Link to the API Swagger documentation for this endpoint
Cache message (EN-US)
Cache message (ZH-CN)
The URL to access the cached result
The endpoint that generated this response
The parameters used in the request
Endpoint-specific response payload. The official shared model does not declare a fixed type or field set. Use the operation's documented return fields or response example; an operation-specific schema, when present, describes the documented fields. Undocumented fields must be read from the actual response rather than assumed.