---
title: "Upload and Analyze Several URLs"
description: "Upload several URLs in one call: the batch form of upload_and_analyze, for when someone hands you a list of links."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.speakai.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload and Analyze Several URLs

Use the Speak AI MCP server tool `upload_and_analyze_batch` to upload several URLs
in one call: the batch form of `upload_and_analyze`, for when someone hands you a
list of links.

## What does it do?

Upload several URLs in one call: the batch form of `upload_and_analyze`, for when
someone hands you a list of links. Takes up to 25 URLs and starts at most 5 at a
time so a long list does not hammer the API. Each URL may be a direct/public file
URL or a shareable social/video page link. Supported page links: YouTube, TikTok,
Instagram, X/Twitter, Facebook, Reddit, SoundCloud, Twitch, Dailymotion, Streamable,
Snapchat, Pinterest, Tumblr, Bilibili, VK, OK.ru and Rutube. Vimeo and Loom page
links are not supported. One URL failing does not stop the rest: every URL is
reported individually as uploaded or failed, with its reason. Returns as soon as the
uploads are accepted, so poll `get_media_status` per mediaId, or `list_media` on the
folder, to follow processing. Prefer this over calling `upload_and_analyze` in a
loop.

## Parameters

`upload_and_analyze_batch` takes 6 parameters, 1 of them required.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `urls` | array of string | Yes | The URLs to import, up to 25. Pass each one exactly as the user gave it; page links are resolved server-side. Duplicates are uploaded once. |
| `mediaType` | enum | No | Applies to every URL in the batch. Send it only when the user has said which they want for all of them: "audio" if they asked for audio only, "video" if they called them videos. Otherwise omit it and the server decides per URL. Mixed batches: leave it off, or split into two calls. |
| `folderId` | string | No | Folder ID for every upload in the batch |
| `sourceLanguage` | string | No | BCP-47 language code applied to every upload, e.g. "en-US" |
| `tags` | string | No | Comma-separated tags applied to every upload |
| `concurrency` | number | No | How many uploads to start at once, 1 to 5. Defaults to 5. Drop it to 1 to import strictly in order. |

## Behaviour

The Speak AI MCP server publishes these behaviour hints for
`upload_and_analyze_batch`.

- Can change data in your workspace.
- Does not delete or overwrite existing data.
- Repeating an identical call can have an extra effect.
- Can reach systems outside Speak AI.

## Related

- [Media library](/mcp/tools/media/) lists the rest of the Media library category.
- [Tool reference](/mcp/tools/) lists every Speak AI MCP server tool.
- [MCP server](/mcp/) covers setup, supported clients, and what agents can do once
  connected.

Source: https://docs.speakai.co/mcp/tools/media/upload_and_analyze_batch/index.mdx
