Douyin Music & Sound Search (by Keyword)
omnial/douyin-search-fetch-music-search
Given a search keyword, returns matching Douyin music tracks and sounds: each one's title, publishing user, duration, usage counts, availability flags, dominant cover color, and platform tags -- plus the underlying song record (canonical title, numeric id, credited artists, and the chorus segment the platform uses in videos). Supports sort, content-type, and publish-time filters, and paginates via a returned cursor.
Price
Up to $0.0205 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-search-fetch-music-search" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/douyin-search-fetch-music-search" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/douyin-search-fetch-music-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/douyin-search-fetch-music-search", 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.0205 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"cursor": {
"type": "integer",
"default": 0,
"description": "偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response"
},
"keyword": {
"type": "string",
"description": "关键词 / Keyword"
},
"backtrace": {
"type": "string",
"default": "",
"description": "翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response"
},
"search_id": {
"type": "string",
"default": "",
"description": "搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response"
},
"sort_type": {
"type": "string",
"default": "0",
"description": "排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest"
},
"content_type": {
"type": "string",
"default": "0",
"description": "内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article"
},
"publish_time": {
"type": "string",
"default": "0",
"description": "发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year"
},
"filter_duration": {
"type": "string",
"default": "0",
"description": "视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"music": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "The track/sound's numeric id."
},
"song": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"title": {
"type": "string",
"description": "The underlying song's canonical title (often the original, pre-cover version)."
},
"chorus": {
"type": "object",
"properties": {
"start_ms": {
"type": "number",
"description": "Chorus start offset in milliseconds."
},
"duration_ms": {
"type": "number",
"description": "Chorus length in milliseconds."
}
},
"description": "The chorus within the song the platform highlights for short-video use.",
"additionalProperties": true
},
"id_str": {
"type": "string",
"description": "The song's numeric id, as a string."
},
"artists": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"artist_name": {
"type": "string",
"description": "The credited artist's public name."
}
},
"additionalProperties": true
},
"description": "The song's credited artists. null when no artist list is attached (as on every track in the fallback result set); when present, one entry per artist."
}
},
"description": "The underlying song record behind the platform sound: canonical title, numeric id, credited artists, and the chorus segment the platform uses in videos. Present on every track observed.",
"additionalProperties": true
},
"album": {
"type": "string",
"description": "Album name, usually an empty string."
},
"title": {
"type": "string",
"description": "The track/sound's title as shown on the platform."
},
"author": {
"type": "string",
"description": "The Douyin user who published/uploaded this sound -- public attribution metadata on the search result."
},
"id_str": {
"type": "string",
"description": "The track/sound's numeric id, as a string."
},
"status": {
"type": "number",
"description": "Track availability code; 1 (available) on every track observed."
},
"duration": {
"type": "number",
"description": "Track duration in seconds."
},
"tag_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tag_type": {
"type": "string"
},
"tag_title": {
"type": "string"
}
},
"additionalProperties": true
},
"description": "Platform tags on the track. Empty array on a fallback result set; when populated (as on the rich jay-chou search), each entry carries a text title and a tag-type code (the raw per-tag color/style sub-fields are trimmed to these two)."
},
"lyric_type": {
"type": "number",
"description": "Lyric format code, present only on tracks that carry lyric metadata (absent from tracks in a fallback result set)."
},
"user_count": {
"type": "number",
"description": "Number of Douyin videos/shorts that use this sound."
},
"is_original": {
"type": "boolean",
"description": "Whether the sound is an original (non-cover) track."
},
"is_restricted": {
"type": "boolean",
"description": "Whether the track is region/availability restricted."
},
"cover_color_hsv": {
"type": "object",
"properties": {
"h": {
"type": "number"
},
"s": {
"type": "number"
},
"v": {
"type": "number"
}
},
"description": "The track cover's dominant color in HSV (h/s/v), so a caller gets the cover's feel without the raw image file.",
"additionalProperties": true
},
"prevent_download": {
"type": "boolean",
"description": "Whether downloading the sound is disabled."
},
"is_commerce_music": {
"type": "boolean",
"description": "Whether the track is tied to commercial/shopping music features."
},
"can_background_play": {
"type": "boolean",
"description": "Whether the sound can play while the app is in the background."
},
"music_collect_count": {
"type": "number",
"description": "How many times the sound has been bookmarked/collected; 0 on every track observed."
}
},
"additionalProperties": true
},
"description": "Matching tracks. Non-empty in testing, including a deliberately nonsense keyword -- the endpoint falls back to example/recommended tracks rather than an empty result."
},
"cursor": {
"type": "number",
"description": "Pagination cursor for the next page. Pass back as this tool's own `cursor` input to continue paging."
},
"has_more": {
"type": "number",
"description": "1 when more results remain for this keyword/filter combination, else 0."
},
"status_code": {
"type": "number",
"description": "The endpoint's own result code; 0 on every real search observed."
}
},
"description": "The Douyin music search result.",
"additionalProperties": true
}