Welcome to BusyBee, the social media data platform. For enterprise partnerships and usage questions, click “Support” on the right

Topic calendar: first find which platform hasn't claimed the term

The same term can be a skit on TikTok, a long review on YouTube, a list on Xiaohongshu, a talking head on Douyin. Picking the wrong platform wastes the work — a cross-platform check spends 6 calls to save a week of rework.

Pipeline

  1. Run one term across six platforms
    Swap the platform parameter on search_posts. Fields stay identical, so sort on interaction directly.
  2. Two things: post-count distribution and interaction level
    Few posts but high interaction = open water; many posts and high interaction too = crowded, so you need a differentiated angle.
  3. Skip unsupported platforms explicitly
    Instagram has no keyword post search. Have the script ask list_platforms for capabilities first instead of forcing the call.
  4. Put the conclusions on the calendar
    Schedule open-water terms this week and crowded terms with a differentiated angle next week — one cross-platform check fills two weeks of content.

Real batch result

Real cross-platform check (keyword coffee, 10 posts per platform)
X 20,988,483 / TikTok 9,325,976 / YouTube 235,306 / Douyin 75,063 / Xiaohongshu 14,623; Instagram has no keyword post search. Conclusion: big accounts already saturate this term on X and TikTok, and Xiaohongshu has plenty of posts but an interaction level an order of magnitude lower — crowded but not contested, so list-style content is the way in.

Endpoints you need

What this article uses search_posts, with the parameters below; use REST when writing code and MCP when wiring a client — both return the same data.

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 (standard library)
import os, json, urllib.request

KEY = os.environ["BUSYBEE_API_KEY"]
req = urllib.request.Request(
    "https://lucydomi.com/mcp/v1/search_posts",
    data=json.dumps({"platform": "tiktok", "keyword": "coffee", "limit": 10}).encode(),
    headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
    method="POST",
)
data = json.load(urllib.request.urlopen(req, timeout=60))
for it in data["items"]:
    print(it.get("url"), it.get("text", "")[:60])

FAQ

What does a cross-platform check cost?
Six searches, one per platform, billed per call; overseas and domestic platforms sit in different groups, so confirm both are enabled before the check.
What if the domestic platforms aren't enabled?
Start with the four overseas platforms; the two domestic ones unlock once an account has topped up $30 in total, and the same scripts run unchanged afterwards.
Can this judgement be automated?
Yes. Store post count, median interaction, and top-1 interaction in a table, run it weekly, and trigger an alert on thresholds.

Related reading

Search posts by keywordDouyin dataXiaohongshu dataHow to mine demand from comments

One key, six platforms

Same fields, same MCP endpoint — switching platforms changes one parameter. Signing up credits you with $0.2 to try it.

View pricing Try one call