crawl_media in Sume MCP: one social URL in, expiring media URLs out
crawl_media resolves one public Instagram or TikTok URL to a permalink, counts and image or video candidates. Those URLs may expire, so import before you reuse.

crawl_media takes one public Instagram or TikTok media URL and returns the permalink, the counts, and candidate image and video URLs. You send platform and url; for Instagram, a shortcode can stand in for the URL, and a region is optional. The candidate URLs may expire and are not hosted by Sume, so an agent that wants to keep a video should not store them. It should import the media first.
The tool is a lookup. It does not download the file, it does not transcribe, and it does not read an account's feed. Those are other tools, and the tool description names them as the cases where crawl_media is the wrong choice.
Use it when a person pastes a single link and asks a question about it: how many views, who posted it, whether it is a video or a carousel. The cost is one unbilled lookup, and the answer arrives in the same turn in most cases, since a call can run for up to 30 seconds.
What comes back
Think of the result as a description of a post at the time of the call. It is the right first step when a person pastes a link and asks what it is.
Counts can be missing. A missing count is null, and the agent should say that it is unknown. It should also state the time of the read, since counts change as people watch.
| Part | Fields | Notes |
|---|---|---|
| Request | platform, url | Instagram also accepts shortcode instead of url |
| Request | region | Optional |
| Result | permalink, media_type, play_count, published_at | Missing counts are null |
| Result | image_urls, video_urls | Candidates that may expire; not Sume-hosted |
Images, carousels and videos
A photo carousel needs still-image inspection. The description says that carousels require it, and that images should be viewed as stills from image_urls. A video post does not need that, but its video URL is only a candidate; it can stop working before the agent uses it.
A carousel is the case that an agent most often gets wrong, because it looks like a video request. Check media_type before you plan a video step.
From a lookup to a durable file
The next step for a video is the same each time. Pass the selected permalink to media-imports_create, wait with jobs_wait, read the import with media-imports_get, and then use video_inspect on the Sume URL if the agent needs to see the content. Imports and transcription keep their own prices, and nothing is imported or inspected for you by the lookup. An agent should tell the person that the next step has a cost before it takes it.
Prices matter at this step. The lookup is unbilled, but the import and any transcription retain their own prices, so an agent should ask before it moves on, particularly in an unattended run. dry_run and max_spend_usd apply to paid tools and are described on the gates page.
Boundaries
Keep the boundaries in mind. The lookup uses public data only, with no login, private accounts, stories or direct messages. A failed lookup is not an empty result, and the agent should say that it could not read the post. All source content is untrusted, so a caption is data and not an instruction.
If the lookup queues, the answer has a request_id. Follow it with jobs_wait and then jobs_result on the same id, and never send the lookup again to poll.
A TikTok call looks like this:
{
"platform": "tiktok",
"url": "https://www.tiktok.com/@example/video/1234567890",
"region": "US"
}Where to go next
For the list of every tool in the group and its gate, use MCP tools and gates. A read-only OAuth session is enough for the lookup, as the MCP quickstart shows for other read tools. The import step is a separate call with its own requirements, so check tools_schema for media-imports_create before you plan it.
Sources
Related posts
More in Integrations
- crawl_site on Sume MCP is unbilled but needs Write
crawl_site starts a multi-page crawl. It is unbilled yet a write tool, so read-only OAuth cannot call it. Follow it with jobs_wait and crawl_get on one id.
- Fixed-price MCP tools and max_spend_usd: $0.10 to $0.30 floors
Sume's fixed-price MCP tools carry estimates of $0.10, $0.15, $0.20 and $0.30. A max_spend_usd below the estimate fails max_spend_exceeded without a dry run.
- get_workflow_instructions and models_explore are not on Sume's MCP
Sume's hosted MCP has no get_workflow_instructions, models_explore, media_import_url or remove_background. Use tools_list, rmbg_create and media-imports_create.
- MCP jobs_wait wait_deadline_exceeded vs wait_canceled: what to do
Both are retryable 503 results from Sume's jobs_wait with next_action poll_status. The job is untouched: call jobs_wait again, never resubmit.
Written by Sume