Douyin Keyword Index & Trend (by Keyword and Date Range)
omnial/douyin-index-fetch-multi-keyword-interpretation
Given one or more keywords and a date range, returns Douyin's popularity index for each keyword: current and prior period search, content, and consumption index values, plus the fractional change versus the previous period and versus a year earlier.
Price
Up to $0.00205 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from Douyin.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/douyin-index-fetch-multi-keyword-interpretation" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/douyin-index-fetch-multi-keyword-interpretation" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/douyin-index-fetch-multi-keyword-interpretation", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/douyin-index-fetch-multi-keyword-interpretation", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.00205 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"end_date",
"keyword_list",
"start_date"
],
"properties": {
"region": {
"type": "string",
"description": "Region list, comma separated"
},
"app_name": {
"enum": [
"aweme",
"toutiao"
],
"type": "string",
"default": "aweme",
"description": "平台/Platform: aweme(抖音), toutiao(头条)"
},
"end_date": {
"type": "string",
"description": "End date, YYYYMMDD"
},
"start_date": {
"type": "string",
"description": "Start date, YYYYMMDD"
},
"keyword_list": {
"type": "string",
"description": "Keyword list, comma separated"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"keyword_index_interpretations",
"BaseResp"
],
"properties": {
"BaseResp": {
"type": "object",
"properties": {
"StatusCode": {
"type": "number",
"description": "Typically 0, for found and not-found keywords alike."
},
"StatusMessage": {
"type": "string",
"description": "Typically an empty string."
}
},
"description": "The response envelope's own status block, present on every call observed.",
"additionalProperties": true
},
"keyword_index_interpretations": {
"type": "array",
"items": {
"type": "object",
"required": [
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"description": "The keyword this row describes, echoing one of the requested keyword_list values verbatim (e.g. '咖啡')."
},
"overview": {
"type": "object",
"properties": {
"search_index": {
"type": "number"
},
"consume_index": {
"type": "number"
},
"content_index": {
"type": "number"
}
},
"description": "Index figures for the requested period as NUMBERS (e.g. 908842) -- see `current_period`/`last_period`, which carry the same figures as numeric strings.",
"additionalProperties": true
},
"last_period": {
"type": "object",
"properties": {
"search_index": {
"type": "string"
},
"consume_index": {
"type": "string"
},
"content_index": {
"type": "string"
}
},
"description": "Index figures for the immediately preceding period, numeric strings like `current_period`; zeroed ('0') when no prior-period data exists.",
"additionalProperties": true
},
"current_period": {
"type": "object",
"properties": {
"search_index": {
"type": "string"
},
"consume_index": {
"type": "string"
},
"content_index": {
"type": "string"
}
},
"description": "Index figures for the current period, observed as numeric STRINGS ('908842', '0') even though `overview` carries the same numbers -- the string typing is the shape observed, not normalized.",
"additionalProperties": true
},
"last_year_diff": {
"type": "object",
"properties": {
"search_diff": {
"type": "number"
},
"consume_diff": {
"type": "number"
},
"content_diff": {
"type": "number"
}
},
"description": "Signed fractional change versus the same period one year earlier, in [-1, infinity). -1 marks no prior-year data; a positive value like 0.8657 is the year over year growth fraction.",
"additionalProperties": true
},
"last_period_diff": {
"type": "object",
"properties": {
"search_diff": {
"type": "number"
},
"consume_diff": {
"type": "number"
},
"content_diff": {
"type": "number"
}
},
"description": "Signed fractional change versus the previous period, in [-1, infinity). The sentinel -1 means no prior-period data exists (e.g. a date range with no data yet shows -1 on every diff); other values are true changes, e.g. -0.0957 for -9.57%.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "One entry per requested keyword: a single keyword yields one element, comma-separated keywords one per keyword. Always present and populated -- a date range with no data yet yields a zeroed element, not an empty array."
}
},
"description": "The keyword-index interpretation document.",
"additionalProperties": true
}