TikTok Web General Search: Posts and Accounts for a Keyword (First Page)
omnial/tiktok-web-general-search-first-page
Runs TikTok's website general search for a keyword and returns the first page of results in result order. Each post has its ID, caption, posting time, video duration (0 for a photo post), photo-post title and image sizes, play, like, comment, share and save counts, hashtags, the author's ID, handle, display name and verified flag, and the sound's ID, title, author name, original flag and duration. A users card, when the page has one, lists matching accounts by ID, handle and display name.
Price
Up to $0.00205 per call; you pay what the call used
The price shown is the price you pay. No monthly minimum. Top-ups start at $5.
Data source
TikTok
Data from TikTok.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/tiktok-web-general-search-first-page" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/tiktok-web-general-search-first-page" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/tiktok-web-general-search-first-page", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/tiktok-web-general-search-first-page", 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 14, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"keyword",
"offset"
],
"properties": {
"offset": {
"enum": [
0
],
"type": "integer",
"description": "The result offset. Only 0, the first page, is offered."
},
"keyword": {
"type": "string",
"minLength": 1,
"description": "The search term, such as a topic, hashtag word or creator name."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The post's ID."
},
"desc": {
"type": "string",
"description": "The caption, with its hashtags."
},
"music": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"duration": {
"type": "number",
"description": "Sound length in seconds."
},
"original": {
"type": "boolean",
"description": "Whether the sound is marked as an original sound."
},
"authorName": {
"type": "string"
}
}
},
"stats": {
"type": "object",
"properties": {
"diggCount": {
"type": "number",
"description": "Likes."
},
"playCount": {
"type": "number"
},
"shareCount": {
"type": "number"
},
"collectCount": {
"type": "number",
"description": "Saves."
},
"commentCount": {
"type": "number"
}
}
},
"video": {
"type": "object",
"properties": {
"duration": {
"type": "number",
"description": "Video length in seconds; 0 for a photo post."
}
}
},
"author": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The author's user ID."
},
"secUid": {
"type": "string",
"description": "The author's secure user ID."
},
"nickname": {
"type": "string",
"description": "The author's display name."
},
"uniqueId": {
"type": "string",
"description": "The author's @handle."
},
"verified": {
"type": "boolean",
"description": "Whether the author is verified."
}
}
},
"imagePost": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The photo post's title; can be empty."
},
"images": {
"type": "array",
"items": {
"type": "object",
"properties": {
"imageWidth": {
"type": "number"
},
"imageHeight": {
"type": "number"
}
}
}
}
},
"description": "Present on photo posts only."
},
"challenges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string",
"description": "The hashtag, without #."
}
}
},
"description": "The hashtags on the post."
},
"createTime": {
"type": "number",
"description": "When the post was published, in Unix seconds."
}
},
"description": "The post (type 1 rows)."
},
"type": {
"type": "number",
"description": "1 for a post, 4 for the users card."
},
"user_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user_info": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"description": "The account's user ID."
},
"sec_uid": {
"type": "string",
"description": "The account's secure user ID."
},
"nickname": {
"type": "string",
"description": "The account's display name."
},
"unique_id": {
"type": "string",
"description": "The account's @handle."
}
}
}
}
},
"description": "The accounts in the users card (type 4 rows)."
}
}
},
"description": "Results in result order: posts (type 1) and a users card (type 4). The capture held 107 posts, most of them photo posts, and one users card of 3 accounts."
},
"status_code": {
"type": "number",
"description": "Status code; 0 on success."
}
},
"description": "The first page of search results."
}