Douyin topic ranking
List public trending topics and their observed score trends by time window.
/v1/douyin/rankings/topicsChinese name: 抖音话题热榜 · 话题 · 排行 按时间窗口分页读取公开话题榜及其当前热度趋势。douyin.rankings.topics@v1
Price per call
¥0.02/ call
Complete and confirmed empty results are charged; partial results and failures are not.
Checking live statusTry it
This API is coming soon
We are running launch checks. Once live, you can try it right here at the price shown above; nothing is charged before then. You can already read the parameters and response example.
Available now on the same platform
- Douyin hot search
- Douyin rising trends
- Douyin low-follower viral ranking
- Douyin high-completion ranking
- Douyin high-like-rate ranking
- Douyin high-follower-conversion ranking
- Douyin hot search terms
- Douyin video detail
- Douyin video search
- Douyin video comments
- Douyin comment replies
- Douyin user profile
- Douyin user videos
- Douyin user search
- Douyin mix detail
- Douyin mix videos
- Douyin batch video detail
- Douyin related videos
- Douyin general search
- Douyin music detail
- Douyin videos by music
- Douyin hashtag detail
- Douyin hashtag videos
- Douyin similar creators
- Douyin creator engagement and follower trends
- Douyin Xingtu creator search
- Douyin Xingtu creator batch info
- Douyin Xingtu creator audience
- Douyin Xingtu creator video performance
Sign in and run one real call. The result and charge appear right here.
Security check
Loading the security check…
Checking live execution status…
Execution result
// Result
Request parameters
window_hoursnumberoptionaldefault: 24
Example:
24querystringoptionaldefault: "" · maxLength: 80
Example:
""cursorstringoptionalminLength: 1
Request JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"window_hours": {
"default": 24,
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 24
},
{
"type": "number",
"const": 72
},
{
"type": "number",
"const": 168
}
]
},
"query": {
"default": "",
"type": "string",
"maxLength": 80
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}Code samples
Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.
curl -X POST https://api.dataxapi.com/v1/douyin/rankings/topics \
-H "Authorization: Bearer $DATAXAPI_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"window_hours":24,"query":""}'import { ExactApiClient } from "@dataxapi/sdk";
const client = new ExactApiClient({
baseUrl: "https://api.dataxapi.com",
apiKey: process.env.DATAXAPI_API_KEY,
});
const result = await client.call("douyin_rankings_topics_v1", {
"window_hours": 24,
"query": ""
});
console.log(result.data);import os
from dataxapi import ExactApiClient
client = ExactApiClient("https://api.dataxapi.com", os.environ["DATAXAPI_API_KEY"])
result = client.call("douyin_rankings_topics_v1", {
"window_hours": 24,
"query": "",
})
print(result["data"])[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"Response example
{
"code": 200,
"request_id": "req_example_batch_5_douyin",
"message": "success",
"data": {
"items": [
{
"id": "1606465689061379",
"name": "Public topic",
"cover_url": "https://ci.douyin.com/topic-cover?sign=public",
"score": 16731659,
"plays": 14198413515,
"published_items": 403719,
"average_plays": 35169,
"rank": 1,
"trends": [
{
"date": "20260826",
"value": 16731659
}
]
}
]
},
"page": {
"next_cursor": "cursor_example"
},
"warnings": [],
"meta": {
"listing_id": "douyin.rankings.topics",
"version": "v1",
"catalog_release_id": "catalog-production-2026-09-19.b069be57",
"price_book_version": "pricebook-production-2026-09-19.4487e352",
"result_status": "complete",
"charged_amount": "0.02",
"balance_after": "49.95",
"currency": "CNY"
}
}Response fields
codenumber- const: 200
request_idstringmessagestring- const: "success"
dataobjectpageobjectwarningsarraymetaobject
Response JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "number",
"const": 200
},
"request_id": {
"type": "string"
},
"message": {
"type": "string",
"const": "success"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9]{1,32}$"
},
"name": {
"type": "string"
},
"cover_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"score": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"plays": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"published_items": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"average_plays": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"rank": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"trends": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{8}$"
},
"value": {
"type": "number",
"minimum": 0
}
},
"required": [
"date",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"cover_url",
"score",
"plays",
"published_items",
"average_plays",
"rank",
"trends"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
},
"page": {
"type": "object",
"properties": {
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"next_cursor"
],
"additionalProperties": false
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"properties": {
"listing_id": {
"type": "string",
"const": "douyin.rankings.topics"
},
"version": {
"type": "string",
"const": "v1"
},
"catalog_release_id": {
"type": "string",
"minLength": 1
},
"price_book_version": {
"type": "string",
"minLength": 1
},
"result_status": {
"type": "string",
"enum": [
"complete",
"empty",
"partial"
]
},
"charged_amount": {
"type": "string"
},
"balance_after": {
"type": "string"
},
"currency": {
"type": "string",
"const": "CNY"
}
},
"required": [
"listing_id",
"version",
"catalog_release_id",
"price_book_version",
"result_status",
"charged_amount",
"balance_after",
"currency"
],
"additionalProperties": false
}
},
"required": [
"code",
"request_id",
"message",
"data",
"page",
"warnings",
"meta"
],
"additionalProperties": false
}Usage notes
Good for
- Use it to discover a current public topic-ranking sample.
Not for
- Do not use it to infer private recommendation weights or total market demand.
Known limitations
- The live first page returned 10 topics.
- Scores are provider indices, not traffic counts.
- The snapshot changes with retrieval time and window.
Billing
¥0.02 per call. Complete and confirmed empty results are charged; partial results and failures are not.
See all pricing →