Contract
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"cursor": {
"type": "integer",
"default": 0,
"description": "翻页游标,首次请求传 0,之后传上一页响应里的 cursor / Pagination cursor, 0 for the first request, then the cursor from the last response"
},
"keyword": {
"type": "string",
"description": "抖音号 或 抖音昵称 / Douyin ID or nickname"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"msg": {
"type": "string",
"description": "'success' on every real call observed."
},
"code": {
"type": "number",
"description": "The endpoint's own call-result code. 0 on every real call observed."
},
"data": {
"type": "object",
"properties": {
"cursor": {
"type": "number",
"description": "Pagination cursor for the next page. Pass back as this tool's own `cursor` input to continue paging."
},
"hasMore": {
"type": "boolean"
},
"userList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"avatar": {
"type": [
"string",
"null"
],
"description": "The account's avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether an avatar exists is a given, not the image itself."
},
"secUid": {
"type": "string",
"description": "The account's opaque platform-internal id, stable across calls."
},
"shortId": {
"type": "string",
"description": "A shorter numeric account id, distinct from `uniqueId`."
},
"nickname": {
"type": "string",
"description": "The account's own public display name -- the subject a search result surfaces."
},
"uniqueId": {
"type": "string",
"description": "The account's own public Douyin ID/handle -- the same identifier this tool's own `keyword` input searches by."
},
"liveRoomInfo": {
"type": "object",
"properties": {
"LiveRoomInfoExtra": {
"type": "object",
"properties": {
"HasClosedShoppingCart": {
"type": "boolean",
"description": "Whether the live room currently has an active shopping-cart/product-selling feature enabled."
}
},
"additionalProperties": true
},
"LiveRoomInfoDetail": {
"type": "object",
"properties": {
"Title": {
"type": "string",
"description": "The live room's title. Empty string when the account is not currently live."
},
"RoomId": {
"type": "string",
"description": "The live room's id. Observed as the literal string '0' when the account is not currently live."
},
"AnchorNickname": {
"type": "string",
"description": "The same account's own display name, mirrored here by the vendor -- identical to the top-level `nickname` on every account observed."
}
},
"additionalProperties": true
},
"LiveRoomLiveStatus": {
"type": "number",
"description": "1 when the account is currently broadcasting, 0 otherwise -- confirmed against real accounts in both states."
}
},
"description": "The account's current live-room state, present on every account observed regardless of whether it is actually live.",
"additionalProperties": true
},
"followerCount": {
"type": "number"
},
"followerCountStr": {
"type": "string",
"description": "Human-readable abbreviated follower count. Observed as an empty string on every real account calibrated even though `followerCount` was always populated -- do not assume this field is ever non-empty."
}
},
"additionalProperties": true
},
"description": "Matching accounts. Observed non-empty (8-10 entries) on every real call, including a deliberately nonsense keyword -- the endpoint falls back to example/recommended accounts rather than an empty result."
}
},
"additionalProperties": true
}
},
"description": "The search result, as returned at routing.responseResultPath ($.output).",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.020475 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 15, 2026
