MCP docs › Tools › YouTube Extractor
YouTube Extractor
youtube_extract medium Video, audio & downloads
Extract metadata and stats for a YouTube video OR channel. Pass a video URL for one video, or a channel URL to list recent videos. Auto-detects which.
When to use. Getting stats/metadata for a YouTube video, or listing a channel's recent uploads. Auto-detects video vs channel from the URL.
Not for. Captions (use youtube_transcript) or download links (use youtube_download).
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url |
string | yes | — | A YouTube video URL (watch?v=, youtu.be, /shorts/) or channel URL (/@handle, /channel/, /c/, /user/). |
max_videos |
integer | no | 20 |
For channel URLs: how many recent videos to list. |
Returns
Video metadata, or a channel row plus its recent videos.
Each row typically carries: title channel channel_url published_at views likes comments duration description thumbnail video_url
The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.
Call it over MCP
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "youtube_extract",
"arguments": {
"url": "https://www.youtube.com/@MrBeast",
"max_videos": 20
}
}
}
Call it over the REST API
curl -X POST https://convertfleet.online/api/tool-run \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tool":"yt","params":{"url":"https://www.youtube.com/@MrBeast","max_videos":20}}'
Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.
Related tools
youtube_transcriptReading what was actually SAID in videos — summarising talks, mining podcasts/webinars, repurposing content, answering questions about a vidyoutube_competitorBenchmarking 2-5 YouTube channels against each other (subs, upload cadence, recent performance) for a content or competitor report.youtube_downloadGetting direct media URLs and the available format/quality list for a YouTube video.
JSON Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "A YouTube video URL (watch?v=, youtu.be, /shorts/) or channel URL (/@handle, /channel/, /c/, /user/)."
},
"max_videos": {
"type": "integer",
"description": "For channel URLs: how many recent videos to list.",
"default": 20
}
},
"additionalProperties": false,
"required": [
"url"
]
}