crawl_find platform and kind: which Sume social route each calls
In Sume's MCP, crawl_find takes platform plus kind; tiktok videos means keyword search and tiktok top means top search. Full mapping to the REST routes.

Sume's agent tools group the 15 social REST routes into four calls: crawl_profile, crawl_feed, crawl_media and crawl_find. Each takes platform (instagram or tiktok), and crawl_feed and crawl_find also require kind, which picks the underlying route.
The names do not always match the REST route. In crawl_find, platform: tiktok with kind: videos runs keyword search, not a video lookup, and kind: profiles runs tiktok_search_users.
The mapping
crawl_profile and crawl_media need only platform. crawl_feed and crawl_find need platform and kind. An unsupported pair, such as instagram with top, is rejected with 'Unsupported platform/kind for this crawl job.' before any lookup runs.
Input is validated against the same schema as the REST route, so every REST field (handle, limit, max_pages, order) carries over unchanged.
| Tool | platform / kind | REST route |
|---|---|---|
| crawl_profile | instagram_profile | |
| crawl_profile | tiktok | tiktok_profile |
| crawl_feed | instagram / posts | instagram_posts |
| crawl_feed | instagram / reels | instagram_reels |
| crawl_feed | tiktok / videos | tiktok_videos |
| crawl_media | instagram or tiktok | instagram_media or tiktok_media |
| crawl_find | instagram / accounts | instagram_search |
| crawl_find | instagram / profiles, reels, hashtag, popular | instagram_search_profiles, _reels, _hashtag, _popular |
| crawl_find | tiktok / profiles, videos, hashtag, top | tiktok_search_users, _keyword, _hashtag, _top |
Why it matters when you write a prompt
An agent that is told to 'find TikTok videos about a topic' should call crawl_find with kind: videos, and one told to 'list this creator's videos' should call crawl_feed with kind: videos. Same word, different tool. Spell out the tool and kind in your Format instructions if the distinction matters to the output.
Slow reads come back as a job; the agent continues with jobs_wait and then fetches the result, as described in the OpenAPI text for these routes.
What these tools do not do
They read public data only: no login, stories, DMs or private accounts, at most 24 items and 3 pages per call, and nothing is imported on its own. To keep a video, the agent calls media-imports_create; to understand what a clip contains, it uses video_inspect, both listed in the tools and gates page.
Sources
Related posts
More in Developers
- Sume SDK backoff: 500 ms to 8 s, retry-after capped at 60 s
The Sume TypeScript client waits min(500 x 2^attempt, 8000) ms, honors retry-after up to 60 s, and adds 20 percent jitter. The full table by attempt.
- Unit test Sume SDK retries with a fake fetch
createSumeClient takes a fetch option for tests. Feed it a 503 then a 200 to prove the SDK retries a GET and sends one x-api-key, with no network.
- Cursor mcp.json ${env:NAME} for Sume's API key: no secret in the repo
Cursor's mcp.json interpolates ${env:NAME} in headers. Keep Sume's API key in an environment variable, send one credential, and know the fixed OAuth redirects.
- Cut a voiceover into sentence clips with TTS segmentation
Sume TTS returns gapless sentence segments, cutting 70 ms after each last word by default. Per-segment audio needs wav or raw; mp3 returns timings only.
Written by Sume