What you get
| Capabilities | Video search / Creator search / Creator details / Creator posts / Video details / Fetch comments |
|---|---|
| Response fields | url, text, author (id/handle/name), created_at, views, likes, comments, shares, cover |
| Integration | MCP (Streamable HTTP) or REST (GET or POST) |
| Billing | Pay per call, automatic refund on failure |
Response schema
Whichever platform you call, post-type responses share the same structure: items[] holds platform / id / url / author{id,handle,name} / text / created_at / stats{...} / cover; creator responses are handle / name / bio / followers / following / posts / verified / avatar / url. Switching platforms needs no changes to your parsing code.
MCP or REST
For models, use MCP: add https://lucydomi.com/mcp to your client config and it selects the tools itself. For code, use REST: https://lucydomi.com/mcp/v1/search_posts, where GET with query parameters or POST with a JSON body both work and return an identical structure.
Copy and run
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": 3}'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": 3}).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])Sample response
This is a real production response, truncated to one item and with billing fields removed.
{
"ok": true,
"platform": "tiktok",
"tool": "search_posts",
"count": 1,
"items": [
{
"platform": "tiktok",
"id": "7690199760430566669",
"url": "https://www.tiktok.com/@laceyglasley/video/7690199760430566669?_r=1&u_code=f0m7125f4ia4bk&preview_pb=0&sharer_language=en&_d=f0m710il3k0l0c&share_item_id=7690199760430566669&source=h5_m",
"author": {
"id": "7066058701889012782",
"handle": "laceyglasley",
"name": "Lacey"
},
"text": "One for me, one for you 🤎🍯 Salted Honey Spanish Latte (1-16oz drink) • 1 tbsp sweetened condensed milk • 1 tsp honey • Dash of cinnamon • Pinch of salt • Dash of cinnamon • 2 tsp instant espresso + 2oz warm water (or double shot of espresso) • Ice • 3-4oz milk Enjoy! #coffeetok #coffeeathome #instantespresso #coffeerecipe #spanishlatte ",
"created_at": "2026-09-27T13:03:24+00:00",
"stats": {
"likes": 68801,
"comments": 169,
"shares": 7732,
"views": 1017504,
"collects": 17981
},
"cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/owpgeRFaArQERuSqRE9CDLMEBEI3EAF5ACAufD~tplv-tiktokx-origin.image?biz_tag=musically_video.video_cover&dr=8593&idc=useast8&ps=933b5bde&refresh_token=9ebdfa7c&s=SEARCH&sc=cover&shcp=c1333099&shp=d05b14bd&t=bacd0480&x-expires=1792933200&x-signature=lpbiHJbGP7CmVDG3kmOcPkenHQo%3D"
}
]
}FAQ
Do I need my own scraper or proxy?
Can I use it commercially?
Can I raise the number of results?
Related
One key, six platforms
Same fields, same MCP endpoint; switching platforms only changes one parameter. Sign up and get $0.2 in trial credit.
See pricing Try one call