YouTube Monitor MCP Server
The AI-powered YouTube provides 360° Global Media Data & Intelligence on YouTube creators, video producers, brand marketers, and content distributors.
Base URL
https://pressmonitor.ca/mcp Authentication
MCP calls require x-api-key and x-subscription-id headers on every JSON-RPC 2.0 request.
x-api-key: YOUR_API_KEY
x-subscription-id: YOUR_SUB_ID youtube_media_search
Search YouTube videos by keyword.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| keyword | string | No | Keyword |
| limit | integer | No | Number of results |
| page | string | No | Page number |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_search",
"arguments": {
"keyword": "VALUE",
"limit": 0,
"page": "VALUE"
}
},
"id": 1
}' youtube_media_suggestions
Get YouTube search suggestions for a keyword.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| keyword | string | No | Keyword |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_suggestions",
"arguments": {
"keyword": "VALUE"
}
},
"id": 1
}' youtube_media_details
Get full video details: stats, channel, and signed stream URLs
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| videoId | string | No | YouTube video ID |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_details",
"arguments": {
"videoId": "VALUE"
}
},
"id": 1
}' youtube_media_subtitles
Get a video transcript (WebVTT) using the subtitleUrl from details.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| videoId | string | No | YouTube video ID |
| subtitleUrl | string | No | Subtitle URL |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_subtitles",
"arguments": {
"videoId": "VALUE",
"subtitleUrl": "VALUE"
}
},
"id": 1
}' youtube_media_comments
Get video comments.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| videoId | string | No | YouTube video ID |
| limit | integer | No | Number of results |
| page | string | No | Page number |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_comments",
"arguments": {
"videoId": "VALUE",
"limit": 0,
"page": "VALUE"
}
},
"id": 1
}' youtube_media_channel
Get channel details by channelId.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| channelId | string | No | YouTube channel ID |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_channel",
"arguments": {
"channelId": "VALUE"
}
},
"id": 1
}' youtube_media_channel_videos
List a channel's videos.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| channelId | string | No | YouTube channel ID |
| limit | integer | No | Number of results |
| page | string | No | Page number |
| type | string | No | Type (videos, shorts, live; or playlists, releases, podcasts) |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_channel_videos",
"arguments": {
"channelId": "VALUE",
"limit": 0,
"page": "VALUE",
"type": "VALUE"
}
},
"id": 1
}' youtube_transcript
Fetch and parse a YouTube video transcript into timed segments.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| videoId | string | No | YouTube video ID |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_transcript",
"arguments": {
"videoId": "VALUE"
}
},
"id": 1
}' youtube_download
Download a YouTube video or audio stream to a local file.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| videoId | string | No | YouTube video ID |
| kind | string | No | Kind (video or audio) |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_download",
"arguments": {
"videoId": "VALUE",
"kind": "VALUE"
}
},
"id": 1
}' youtube_media_search_channels
Search YouTube channels by keyword.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| keyword | string | No | Keyword |
| limit | integer | No | Number of results |
| page | string | No | Page number |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_search_channels",
"arguments": {
"keyword": "VALUE",
"limit": 0,
"page": "VALUE"
}
},
"id": 1
}' youtube_media_search_playlists
Search YouTube playlists by keyword.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| keyword | string | No | Keyword |
| limit | integer | No | Number of results |
| page | string | No | Page number |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_search_playlists",
"arguments": {
"keyword": "VALUE",
"limit": 0,
"page": "VALUE"
}
},
"id": 1
}' youtube_media_channel_playlists
List a channel's playlists, releases and podcasts.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| channelId | string | No | YouTube channel ID |
| limit | integer | No | Number of results |
| page | string | No | Page number |
| type | string | No | Type (videos, shorts, live; or playlists, releases, podcasts) |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_channel_playlists",
"arguments": {
"channelId": "VALUE",
"limit": 0,
"page": "VALUE",
"type": "VALUE"
}
},
"id": 1
}' youtube_media_playlist_details
Get playlist details by playlistId.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| playlistId | string | No | YouTube playlist ID |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_playlist_details",
"arguments": {
"playlistId": "VALUE"
}
},
"id": 1
}' youtube_media_playlist_videos
List a playlist's videos.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| playlistId | string | No | YouTube playlist ID |
| limit | integer | No | Number of results |
| page | string | No | Page number |
Code Examples
curl -X POST \
"https://pressmonitor.ca/mcp" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-subscription-id: YOUR_SUB_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "youtube_media_playlist_videos",
"arguments": {
"playlistId": "VALUE",
"limit": 0,
"page": "VALUE"
}
},
"id": 1
}'