Parameters
| Param | Required | Value |
|---|---|---|
platform | yes | tiktok / instagram / youtube / twitter / douyin / xiaohongshu |
keyword | yes | search term; English performs best on TikTok |
limit | no | rows to return, default 20 |
Actual capability matrix (live from the API)
| Platform | Search posts | Search creators | Comments | Profile | Creator posts | Trending |
|---|---|---|---|---|---|---|
| TikTok | yes | yes | yes | yes | yes | — |
| — | yes | yes | yes | yes | — | |
| YouTube | yes | — | yes | yes | yes | — |
| X / Twitter | yes | — | yes | yes | yes | — |
| Douyin | yes | yes | yes | yes | yes | yes |
| Xiaohongshu | yes | yes | yes | yes | yes | — |
This table is the live list_platforms output, not marketing copy. A blank cell means the capability does not exist — design around it.
Field traps when comparing platforms
- Like counts are not comparable across platforms: six-figure likes are routine on TikTok, a few hundred can be a hit on Xiaohongshu. Compare percentiles within a platform.
- Douyin search rows often carry zero engagement: hydrate with
get_postbefore comparing. - Raw counts only: no 1.2K style formatting — format client-side.
Copy and run
cURL
curl -s https://lucydomi.com/mcp/v1/search_posts \
-H "Authorization: Bearer $BUSYBEE_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{"platform": "tiktok", "keyword": "coffee", "limit": 10}'Python (stdlib, no dependencies)
import os, json, urllib.request
KEY = os.environ["BUSYBEE_API_KEY"]
for p in ["tiktok", "youtube", "douyin", "xiaohongshu"]:
req = urllib.request.Request(
"https://lucydomi.com/mcp/v1/search_posts",
data=json.dumps({"platform": p, "keyword": "coffee", "limit": 10}).encode(),
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
method="POST",
)
d = json.load(urllib.request.urlopen(req, timeout=60))
items = [i for i in d.get("items", []) if not i.get("error")]
items.sort(key=lambda x: x.get("stats", {}).get("likes", 0), reverse=True)
print(p, "top:", items[0]["url"] if items else None)
Real response sample
Taken from a real production call; truncated, image/signed URLs removed.
{
"ok": true,
"platform": "tiktok",
"tool": "search_posts",
"count": 2,
"items": [
{
"id": "7650540499975081248",
"url": "https://www.tiktok.com/@yourcoffeedude/video/7650540499975081248",
"author": {"handle": "yourcoffeedude", "name": "YourCoffeeDude"},
"created_at": "2026-06-12T16:04:35+00:00",
"stats": {"likes": 254378, "comments": 748, "shares": 58641, "views": 3969856, "collects": 133985}
},
{
"id": "7700278147845049633",
"author": {"handle": "yourcoffeedude", "name": "YourCoffeeDude"},
"created_at": "2026-10-24T16:52:01+00:00",
"stats": {"likes": 3470, "comments": 10, "shares": 206, "views": 54612, "collects": 1127}
}
]
}FAQ
Is there pagination?
No page parameter. Beyond the limit, vary the keyword or add qualifiers.
Do Chinese keywords work on TikTok?
They return results, but relevance drops sharply. Use English for TikTok.
Can one key cover every platform?
Keys belong to groups: overseas platforms use the overseas group, Douyin/Xiaohongshu the domestic group. One account can hold both.
Search posts vs search creators?
Posts gives content; creators gives accounts with follower counts and bios — follow up with profile and creator-posts endpoints.
Related
One key, six platforms
Same schema, same MCP endpoint, one parameter to switch platforms. Sign-up credit included, failed calls are free.
See pricing Try it first