Douyin Xingtu Creator Audience Profile (by Creator ID)
omnial/douyin-xingtu-get-author-audience-distribution
Given a Douyin Xingtu creator's ID (`o_author_id`) plus an audience-profile view (`link_type`), returns that creator's follower audience broken down by gender, age, region, city, interest, device brand, city tier, and people group, each with per-bucket labels and weights. Some audience-view values return an empty distribution for a real creator; the view value 1 returned a full profile in testing.
Price
Up to $0.0041 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-xingtu-get-author-audience-distribution" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/douyin-xingtu-get-author-audience-distribution" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/douyin-xingtu-get-author-audience-distribution", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/douyin-xingtu-get-author-audience-distribution", 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.0041 |
- Updated
- Nov 6, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"link_type",
"o_author_id"
],
"properties": {
"link_type": {
"type": "integer",
"examples": [
5
],
"description": "Audience profile link type, required; example: 5"
},
"o_author_id": {
"type": "string",
"examples": [
"7029342444797820939"
],
"description": "Creator ID"
},
"platform_source": {
"type": "integer",
"default": 1,
"examples": [
1
],
"description": "Platform source"
},
"platform_channel": {
"type": "integer",
"default": 1,
"examples": [
1
],
"description": "Platform channel"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"base_resp": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"description": "0 on the one populated call observed."
},
"status_message": {
"type": "string",
"description": "Empty string on the one populated call observed."
}
},
"description": "Endpoint status. Observed as `{ status_code: 0, status_message: \"\" }` on the one populated call.",
"additionalProperties": true
},
"distributions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "number",
"description": "The dimension's numeric code (gender 1, age 2, province 4, device brand 8, city tier 32, interest 64, city 256, people group 1024) as observed on the one populated call."
},
"image": {
"type": "array",
"items": {
"type": "string"
},
"description": "One or two short Chinese text captions summarising the dominant buckets (e.g. 'mostly female') -- plain text, not image URLs, and carries no image data."
},
"description": {
"type": "string",
"description": "A one-line Chinese summary of the dimension's makeup, e.g. the gender entry's 'mostly female, about 60%'."
},
"type_display": {
"type": "string",
"description": "The dimension's human label, e.g. \"性别分布\" (gender distribution)."
},
"distribution_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"distribution_key": {
"type": "string",
"description": "The bucket label -- observed in English for the gender dimension (male/female) and in Chinese for region, city, interest, and device dimensions."
},
"distribution_value": {
"type": "string",
"description": "The bucket weight as a numeric string (e.g. \"2\", \"3\") -- a relative weight, not a percentage; the human-readable share lives in the dimension's `description`."
}
},
"additionalProperties": true
},
"description": "The dimension's per-bucket labels and weights."
}
},
"additionalProperties": true
},
"description": "One entry per audience dimension -- gender, age, province, city, interest, device brand, city tier, people group -- observed together on the one populated call."
},
"last_update_time": {
"type": "string",
"description": "The profile's last-update time as Unix seconds, e.g. \"1790132494\" (2026-09-23)."
}
},
"description": "The creator's audience distribution. Observed as an empty object `{}` when the given link type (audience view) returns no distribution data for the creator -- observed for two real creators, both with the view value 5 (the endpoint's own documented example value). The shape below is from a third call whose view value 1 returned the full distribution.",
"additionalProperties": true
}