Douyin Video Growth Analysis (by Item ID and Date Range)
omnial/douyin-index-fetch-item-analysis
Given a Douyin video's item ID and a YYYYMMDD date range, returns that video's performance over the range: an engagement-index, like, comment, and share total with the change across the range, a day-by-day and running-cumulative trend line for each, and per-day averages. A range before the video's publication returns a status envelope instead of data.
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-item-analysis" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/douyin-index-fetch-item-analysis" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/douyin-index-fetch-item-analysis", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/douyin-index-fetch-item-analysis", 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",
"item_id",
"start_date"
],
"properties": {
"item_id": {
"type": "string",
"description": "Video ID (Douyin aweme id, numeric). Example: 7660090930283744575"
},
"end_date": {
"type": "string",
"description": "End date YYYYMMDD"
},
"start_date": {
"type": "string",
"description": "Start date YYYYMMDD"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"detail": {
"type": "object",
"properties": {
"index": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "That day's value, as a string (e.g. '401'), not a number."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD (e.g. '20260704')."
}
},
"additionalProperties": true
},
"description": "One entry per day in the range, in date order."
},
"comparison": {
"type": "object",
"description": "Usually the empty object `{}`; the shape of a populated comparison is not documented -- treat as an object of unknown shape."
}
},
"additionalProperties": true
},
"likes": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "That day's value, as a string, not a number."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "One entry per day in the range, in date order."
},
"comparison": {
"type": "object",
"description": "Usually the empty object `{}`; the shape of a populated comparison is not documented -- treat as an object of unknown shape."
}
},
"additionalProperties": true
},
"share": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "That day's value, as a string, not a number."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "One entry per day in the range, in date order."
},
"comparison": {
"type": "object",
"description": "Usually the empty object `{}`; the shape of a populated comparison is not documented -- treat as an object of unknown shape."
}
},
"additionalProperties": true
},
"comments": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "That day's value, as a string, not a number."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "One entry per day in the range, in date order."
},
"comparison": {
"type": "object",
"description": "Usually the empty object `{}`; the shape of a populated comparison is not documented -- treat as an object of unknown shape."
}
},
"additionalProperties": true
},
"like_acc": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The running cumulative total to that day, as a string (e.g. '1649')."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "Running cumulative likes by day, in date order."
}
},
"additionalProperties": true
},
"like_avg": {
"type": "number",
"description": "Average likes per day over the range (e.g. 321 in testing)."
},
"share_acc": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The running cumulative total to that day, as a string."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "Running cumulative shares by day, in date order."
}
},
"additionalProperties": true
},
"share_avg": {
"type": "number",
"description": "Average shares per day over the range (e.g. 53.43 in testing)."
},
"comment_acc": {
"type": "object",
"properties": {
"trend": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The running cumulative total to that day, as a string."
},
"datetime": {
"type": "string",
"description": "The day in question, YYYYMMDD."
}
},
"additionalProperties": true
},
"description": "Running cumulative comments by day, in date order."
}
},
"additionalProperties": true
},
"comment_avg": {
"type": "number",
"description": "Average comments per day over the range (e.g. 12.86 in testing)."
}
},
"description": "Day-by-day breakdown. Present only on a populated analysis; absent on an empty-window call.",
"additionalProperties": true
},
"summary": {
"type": "object",
"properties": {
"index": {
"type": "object",
"properties": {
"diff": {
"type": "string",
"description": "The metric's change across the range, as a string. In testing this EQUALED `value` for every metric because the range opened at zero, not a difference from some prior period."
},
"value": {
"type": "string",
"description": "The metric's total over the whole range, as a string (e.g. '3272'), not a number."
}
},
"additionalProperties": true
},
"likes": {
"type": "object",
"properties": {
"diff": {
"type": "string",
"description": "The metric's change across the range, as a string."
},
"value": {
"type": "string",
"description": "The metric's total over the whole range, as a string (e.g. '2247'), not a number."
}
},
"additionalProperties": true
},
"share": {
"type": "object",
"properties": {
"diff": {
"type": "string",
"description": "The metric's change across the range, as a string."
},
"value": {
"type": "string",
"description": "The metric's total over the whole range, as a string (e.g. '374'), not a number."
}
},
"additionalProperties": true
},
"comments": {
"type": "object",
"properties": {
"diff": {
"type": "string",
"description": "The metric's change across the range, as a string."
},
"value": {
"type": "string",
"description": "The metric's total over the whole range, as a string (e.g. '90'), not a number."
}
},
"additionalProperties": true
}
},
"description": "One entry per metric (index, likes, comments, share). Present only on a populated analysis; absent on an empty-window call.",
"additionalProperties": true
},
"BaseResp": {
"type": "object",
"properties": {
"StatusCode": {
"type": "number",
"description": "0 on a populated analysis; observed as -1 when the requested window has no data for the video (e.g. a window before the video was published)."
},
"StatusMessage": {
"type": "string",
"description": "Empty on success; a provider status message on the no-data window (observed as '系统异常' for a window before the video was published)."
}
},
"description": "The upstream provider's status envelope, returned on every call.",
"additionalProperties": true
}
},
"description": "The comparison-analysis record. A window with data returns the populated analysis; a window with no data for the video (e.g. before it was published) returns only the status envelope `{ BaseResp: {...} }`. Every field below is optional -- a call whose window has no data for the video returns `BaseResp` alone.",
"additionalProperties": true
}