# Fixed reference example. Playground inputs do not update this sample.
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"period_end_timestamp": 1785024000
}'curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"period_end_timestamp": 1785024000
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list"
payload = { "period_end_timestamp": 1785024000 }
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({period_end_timestamp: 1785024000})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_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/tiktok/ads/get_top_contents_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([
'period_end_timestamp' => 1785024000
]),
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/tiktok/ads/get_top_contents_list"
payload := strings.NewReader("{\n \"period_end_timestamp\": 1785024000\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/tiktok/ads/get_top_contents_list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"period_end_timestamp\": 1785024000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_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 \"period_end_timestamp\": 1785024000\n}"
response = http.request(request)
puts response.read_body{
"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>",
"code": 200,
"data": "<unknown>",
"docs": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"params": {},
"request_id": "<string>",
"router": "",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles"
}tiktok get_top_contents_list
Get top contents list
# Fixed reference example. Playground inputs do not update this sample.
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"period_end_timestamp": 1785024000
}'curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"period_end_timestamp": 1785024000
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list"
payload = { "period_end_timestamp": 1785024000 }
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({period_end_timestamp: 1785024000})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_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/tiktok/ads/get_top_contents_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([
'period_end_timestamp' => 1785024000
]),
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/tiktok/ads/get_top_contents_list"
payload := strings.NewReader("{\n \"period_end_timestamp\": 1785024000\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/tiktok/ads/get_top_contents_list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"period_end_timestamp\": 1785024000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_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 \"period_end_timestamp\": 1785024000\n}"
response = http.request(request)
puts response.read_body{
"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>",
"code": 200,
"data": "<unknown>",
"docs": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"params": {},
"request_id": "<string>",
"router": "",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles"
}code is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Request contract
- Method and path: POST /apis/v1/tikhub/tiktok/ads/get_top_contents_list
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_top_contents_list - Runtime facts: 85ae03121f63417c9ff9d57a0fd59fdc6386fd71e2dc732a002843e6d8979d87
{
"operationId": "post_tikhub_tiktok_ads_get_top_contents_list",
"method": "POST",
"path": "/apis/v1/tikhub/tiktok/ads/get_top_contents_list",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"content_label_ids": {
"default": "",
"description": "Content label IDs, comma separated (e.g. `11002,11015`), empty for all. Options:\n - `11001`: Nature & Animals\n - `11002`: Beauty & Care\n - `11003`: Fashion\n - `11004`: Music & Entertainment\n - `11005`: Games\n - `11006`: Education & Work\n - `11007`: Sports & Outdoor\n - `11008`: Creativity & Talent\n - `11009`: Family & Relationship\n - `11010`: Food & Beverage\n - `11011`: Vlog & Selfie\n - `11012`: Society\n - `11013`: Lifestyle & Leisure\n - `11014`: Vehicles & Transportation\n - `11015`: Technology & Finance",
"title": "Content Label Ids",
"type": "string"
},
"cookie": {
"description": "Custom Cookie string, optional parameter, you can use your own Cookie to get more data",
"title": "Cookie",
"type": "string"
},
"country_code": {
"default": "US",
"description": "Country/region code\n\nUsage: Country code, default US, see /tikhub/tiktok/ads/get_location_list for options\n\nAPI references: `get_location_list` = `POST /tikhub/tiktok/ads/get_location_list` (operationId: `post_tikhub_tiktok_ads_get_location_list`).",
"title": "Country Code",
"type": "string"
},
"limit": {
"default": 20,
"description": "Items per page, default 20, max 100",
"maximum": 100,
"title": "Limit",
"type": "integer"
},
"order_by_metric": {
"default": 1,
"description": "Order by metric: 1=Views, 2=Engagement rate, 3=6-second completion rate\n\nUsage: Sorting metric, default 1\n - `1`: By video views\n - `2`: By engagement rate\n - `3`: By 6-second view-through rate",
"example": 1,
"title": "Order By Metric",
"type": "integer"
},
"organic_only": {
"default": false,
"description": "Organic content only",
"title": "Organic Only",
"type": "boolean"
},
"page": {
"default": 1,
"description": "Page number, default 1",
"title": "Page",
"type": "integer"
},
"period_dimension": {
"default": 3,
"description": "Period dimension: 1/3/5\n\nUsage: Period, default 3\n - `1`: Weekly ranking\n - `3`: Daily ranking\n - `5`: Long-period ranking (covers videos over a longer time span)",
"example": 1,
"title": "Period Dimension",
"type": "integer"
},
"period_end_timestamp": {
"description": "The caller must generate this 10-digit Unix timestamp in seconds from the target ranking date, for example 1785024000; do not pass 0 because it returns an empty result\n\nUsage: Period end timestamp in seconds, required\n - Generate this value from the target ranking date; it is not returned by another endpoint\n - Example: `1785024000`; do not pass `0`, which returns an empty result\n - For period_dimension 1, pass a Sunday 00:00 UTC timestamp; other dates return no data\n - For period_dimension 3 or 5, any past date works",
"example": 1785024000,
"title": "Period End Timestamp",
"type": "integer"
}
},
"required": [
"period_end_timestamp"
],
"title": "Body_get_top_contents_list_api_v1_tiktok_ads_get_top_contents_list_post",
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.001,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Published reference price: $0.001 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.001
- Cost contract: fixed_success
- Published reference multiplier: 1.0
- Settlement evidence source: request_snapshot
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The caller must generate this 10-digit Unix timestamp in seconds from the target ranking date, for example 1785024000; do not pass 0 because it returns an empty result
Usage: Period end timestamp in seconds, required
- Generate this value from the target ranking date; it is not returned by another endpoint
- Example: 1785024000; do not pass 0, which returns an empty result
- For period_dimension 1, pass a Sunday 00:00 UTC timestamp; other dates return no data
- For period_dimension 3 or 5, any past date works
1785024000
Content label IDs, comma separated (e.g. 11002,11015), empty for all. Options:
- 11001: Nature & Animals
- 11002: Beauty & Care
- 11003: Fashion
- 11004: Music & Entertainment
- 11005: Games
- 11006: Education & Work
- 11007: Sports & Outdoor
- 11008: Creativity & Talent
- 11009: Family & Relationship
- 11010: Food & Beverage
- 11011: Vlog & Selfie
- 11012: Society
- 11013: Lifestyle & Leisure
- 11014: Vehicles & Transportation
- 11015: Technology & Finance
Custom Cookie string, optional parameter, you can use your own Cookie to get more data
Country/region code
Usage: Country code, default US, see /tikhub/tiktok/ads/get_location_list for options
API references: get_location_list = POST /tikhub/tiktok/ads/get_location_list (operationId: post_tikhub_tiktok_ads_get_location_list).
Items per page, default 20, max 100
x <= 100Order by metric: 1=Views, 2=Engagement rate, 3=6-second completion rate
Usage: Sorting metric, default 1
- 1: By video views
- 2: By engagement rate
- 3: By 6-second view-through rate
1
Organic content only
Page number, default 1
Period dimension: 1/3/5
Usage: Period, default 3
- 1: Weekly ranking
- 3: Daily ranking
- 5: Long-period ranking (covers videos over a longer time span)
1
Response
Successful response. The outer object follows ResponseModel; the endpoint-specific payload is in data.
Return Description
entityInfos: Video list (itemInfo / itemMetrics / itemAuthorInfo / itemAuthorMetrics / contentTags)pagination: Pagination info (page / limit / pageCount / totalCount / hasMore)
Cache message (EN-US)
Cache message (ZH-CN)
The URL to access the cached result
HTTP status code
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.
Link to the API Swagger documentation for this endpoint
Response message (EN-US)
Response message (ZH-CN)
The parameters used in the request
Unique request identifier
The endpoint that generated this response
Support message
The time the response was generated
The timestamp the response was generated
The timezone of the response time