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

Instagram Data API: creator search, profile data and post lists

Search creators by keyword, read follower counts and bios, pull recent posts, fetch comment sections. Built for KOL database work and pre-campaign shortlisting.

What you get

CapabilitiesCreator search / Creator details / Creator posts / Fetch comments (keyword content search is not open yet; go through creators)
Response fieldshandle, name, bio, followers, following, posts, verified, avatar, profile url
IntegrationMCP (Streamable HTTP) or REST (GET or POST)
BillingPay 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_creators, where GET with query parameters or POST with a JSON body both work and return an identical structure.

Copy and run

cURL
curl -s https://lucydomi.com/mcp/v1/search_creators \
  -H "Authorization: Bearer $BUSYBEE_API_KEY" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{"platform": "instagram", "keyword": "yoga", "limit": 3}'
Python (standard library, no dependencies)
import os, json, urllib.request

KEY = os.environ["BUSYBEE_API_KEY"]
req = urllib.request.Request(
    "https://lucydomi.com/mcp/v1/search_creators",
    data=json.dumps({"platform": "instagram", "keyword": "yoga", "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": "instagram",
  "tool": "search_creators",
  "count": 1,
  "items": [
    {
      "platform": "instagram",
      "id": "1460331947",
      "handle": "yoga",
      "name": "Yoga",
      "bio": "",
      "followers": 0,
      "following": 0,
      "posts": 0,
      "verified": true,
      "avatar": "url",
      "url": "https://www.instagram.com/yoga/"
    }
  ]
}

FAQ

Do I need my own scraper or proxy?
No. Scraping and cleaning happen server-side, so you only receive structured JSON; failed calls are refunded automatically.
Can I use it commercially?
Everything returned is publicly visible content and can be used for analysis and product features; see the “Data policy” page for the exact limits.
Can I raise the number of results?
Yes, limit is adjustable, but each call returns synchronously. Fetch in batches to avoid a single call timing out.

Related

API docsPricingTikTok dataYouTube dataX / Twitter dataComment insights

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