YouTube MCP server for your agent
To give Claude, Cursor, ChatGPT or another MCP client YouTube data, add Apify's hosted MCP server with the Actors ticked below as tools (6 by default); the URL is in every config. Sign in with your Apify account or pass an API token; each call runs the Actor and returns YouTube records to the agent.
One click, signs in with Apify on first use:
Any other client, one command (writes the config for 25+ agents, including Windsurf, Zed, Cline and Goose):
npx add-mcp "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category" --name apify-youtube - Catalogue Actors
- 17
- In this bundle
- 6
- Official API
- Public
- Data checked
- 2026-11-12
Config for your client
Claude Code configterminal or .mcp.json
claude mcp add --transport http apify-youtube "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category" - Run the command in your project folder. Add --scope user to make it available in every project.
- Start Claude Code, type /mcp, pick the server and sign in to Apify in the browser window.
- No browser sign-in? Add --header "Authorization: Bearer YOUR_APIFY_TOKEN" to the command instead.
Sign-in: OAuth sign-in on first use, or a token header.
Claude Desktop configclaude_desktop_config.json
{
"mcpServers": {
"apify-youtube": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--tools",
"fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
} - Easiest: open Customize, then Connectors, choose Add custom connector, paste the server URL (the ChatGPT tab shows it on its own) and sign in to Apify.
- Local alternative (needs Node.js): merge this into claude_desktop_config.json (Settings, Developer, Edit config) and replace YOUR_APIFY_TOKEN.
- Restart Claude Desktop and enable the server from the tools menu in a chat.
Sign-in: Connector with OAuth, or a token in the local config.
Cursor config~/.cursor/mcp.json
{
"mcpServers": {
"apify-youtube": {
"url": "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category",
"headers": {
"Authorization": "Bearer ${env:APIFY_TOKEN}"
}
}
}
} - Save as ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one project. Merge with servers you already have.
- Set APIFY_TOKEN in the environment Cursor starts from, or replace ${env:APIFY_TOKEN} with your token.
- Open Cursor Settings, then MCP, and check that the server lists its tools.
Sign-in: Token read from the APIFY_TOKEN environment variable.
VS Code config.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "apify-token",
"description": "Apify API token",
"password": true
}
],
"servers": {
"apify-youtube": {
"type": "http",
"url": "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category",
"headers": {
"Authorization": "Bearer ${input:apify-token}"
}
}
}
} - Save as .vscode/mcp.json in your workspace.
- Start the server from the file or the MCP servers view. VS Code asks for the token once and stores it securely.
- Use the tools from Copilot Chat in agent mode.
Sign-in: Token prompted once and stored by VS Code.
ChatGPT configPlugins > Add custom MCP server
https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category - In ChatGPT on the web, open Plugins, select + and choose Add custom MCP server.
- Name it, paste the URL under Connection as the Server URL and choose OAuth for authentication.
- Accept the risk warning (I understand and want to continue), select Create as a plugin, then install the plugin from your plugins, sign in to Apify and use it in a new chat.
Sign-in: OAuth sign-in with your Apify account.
Codex CLI config~/.codex/config.toml
[mcp_servers.apify-youtube]
url = "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category"
bearer_token_env_var = "APIFY_TOKEN" - Add the block to ~/.codex/config.toml, or .codex/config.toml in a project.
- Export APIFY_TOKEN in the shell that starts Codex. Or skip the token line and run codex mcp login to sign in.
- Start codex and type /mcp to check that the tools are listed.
Sign-in: Token read from the APIFY_TOKEN environment variable.
Gemini CLI configterminal (writes ~/.gemini/settings.json)
gemini mcp add -t http -s user -H "Authorization: Bearer $APIFY_TOKEN" apify-youtube "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category" - Export APIFY_TOKEN first: the shell expands it and Gemini CLI saves the header, token included, in plain text in ~/.gemini/settings.json (keep that file private). In PowerShell write $env:APIFY_TOKEN instead of $APIFY_TOKEN. Drop -s user to save it in the project's .gemini/settings.json.
- Start gemini and type /mcp to check that the server is connected and lists its tools.
- Saved by hand, a remote server uses the httpUrl key for streamable HTTP (url means the older SSE transport).
Sign-in: Token header saved by gemini mcp add.
n8n AI Agent configMCP Client Tool node
https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/youtube-channel-video-catalog-and-profile-scraper,nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper,nimbryxo-studio/youtube-caption-and-whisper-ai-transcript,vexaloom-labs/youtube-search-results-and-entity-type-scraper,vexaloom-labs/youtube-video-metadata-and-chapter-extractor,nimbryxo-studio/youtube-trending-feed-extractor-by-category - Add an AI Agent node, then attach an MCP Client Tool node to its tool input.
- Paste the URL as the endpoint and choose HTTP Streamable as the transport.
- Choose Bearer auth and create a credential that holds your Apify token.
Sign-in: Bearer auth credential.
Validated, not executed: 7 of 7 checks pass
- Uses Apify's hosted MCP endpoint over HTTPS
- The tools parameter lists exactly the chosen Actors as owner/name
- JSON configs parse and use the client's top-level key and the same URL
- Codex TOML has a [mcp_servers.<name>] table with url and bearer_token_env_var
- CLI commands quote the same URL and use the streamable HTTP transport
- One-click install links decode back to the same URL and carry no token
- Only placeholders, no real token
Official API or an Actor?
YouTube has a public official API
The Data API exposes public video, channel, playlist and comment data. Each project receives a daily quota measured in units.
No per-call fee is published; the constraint is the daily quota. Extra quota is not self-serve.
The default allocation is 100 search.list calls per day, 100 videos.insert calls per day, and 10,000 quota units per day combined for other endpoints. Captions for videos you do not own are not available through the API.
Use the API and public pages within YouTube's terms; transcripts are not an official public API; not legal advice.
Where it stops
The token-based configurations require your own Apify API token through APIFY_TOKEN; the hosted endpoint URL alone does not authenticate you. These configurations do not set up YouTube OAuth or grant access to a signed-in YouTube account, and Recipe for Agents has not authenticated Apify or YouTube for you. YouTube’s public Data API is another route for video, channel, playlist and comment records, subject to project quota.
Every YouTube Actor in the catalogue
| Actor | Returns | Fields | Store price | Last update |
|---|---|---|---|---|
| YouTube Channel About, Playlists & Posts Finder | Channel profile rows with About details, external links, and optional nested surfaces, plus one-row-per-playlist and… Fields include channelName, title, handle. | 20 | $0.99 per 1,000 results | 2026-11-07 |
| YouTube Channel Video Catalog & Profile Scraper | YouTube channel profile metadata and video, Shorts, playlist, podcast, course, release, and live-stream rows with exact views, likes, and… Fields include title, videoId, viewCount. | 49 | $0.99 per 1,000 results | 2026-10-18 |
| YouTube Channel Video Feed Quick Scraper | One row per video with recordType/sourceUrl, exact publish date, like count, category, tags, optional comment count, view/like metrics… Fields include title, videoId, viewCount. | 52 | $0.99 per 1,000 results | 2026-11-09 |
| YouTube Community Tab Post & Poll Scraper | Community posts with exact dates, engagement, images, polls, quizzes, playlists, reposts and comment threads, plus one-row-per-comment… Fields include postId, postType, channelName. | 7 | $0.99 per 1,000 results | 2026-10-23 |
| YouTube Hashtag Video & Shorts Ranking Scraper | Videos and Shorts ranked under the requested hashtags, with view count, channel info and hashtag totals. Fields include hashtag, videoId, title. | 40 | $0.99 per 1,000 results | 2026-11-05 |
| YouTube Live Stream & Replay Chat Extractor | Chat events with authors, replay offsets, Super Chat and gift amounts, membership detail, badges, stream metadata and optional summaries. Fields include videoId, eventType, authorName. | 15 | $0.99 per 1,000 results | 2026-11-03 |
| YouTube Playlist Contents & Channel Playlist Finder | Playlist video rows with exact views, likes, publish dates and unavailable placeholders, plus channel collection and playlist-search rows. Fields include title, videoId, playlistTitle. | 47 | $0.99 per 1,000 results | 2026-10-31 |
| YouTube Search Results & Entity Type Scraper | Search result rows for videos, Shorts, channels, playlists, and movies, with optional exact dates, views, likes, categories, tags, and… Fields include videoId, title, channelName. | 42 | $0.99 per 1,000 results | 2026-10-22 |
| YouTube Search Suggestions Scraper | Autocomplete suggestion rows with seed, expansion type, rank, locale, source, search URL and channel/topic metadata when available. Fields include suggestion, seed, locale. | 8 | $0.99 per 1,000 results | 2026-11-10 |
| YouTube Shorts Metadata Extractor for Channels & Hashtags | YouTube Shorts with exact view, like, comment, date, duration, category and sound metadata, scraped by channel, hashtag, keyword search or… Fields include title, videoId, viewCount. | 38 | $0.99 per 1,000 results | 2026-10-19 |
| YouTube SponsorBlock Segments Scraper | SponsorBlock segment rows, per-video/run summaries, and truthful per-video status rows. Fields include videoId, category, actionType. | 41 | $0.99 per 1,000 results | 2026-11-05 |
| YouTube Trending Feed Extractor by Category & Market | Ranked YouTube chart entries and category-hub videos with rank movement, exact video details and status rows. Fields include sourceName, title, channelName. | 70 | $0.99 per 1,000 results | 2026-11-02 |
| YouTube Video Comment & Reply Thread Scraper | Flat comment and reply rows with author identity, rounded engagement counts, honest approximate dates, thread fields, video statistics… Fields include commentId, authorName, text. | 24 | $0.99 per 1,000 results | 2026-10-24 |
| YouTube Video Metadata & Chapter Extractor | One record per video with exact metadata, manual and automatic chapters, heatmap segments, caption-track availability, live and age… Fields include videoId, title, channelName. | 60 | $0.99 per 1,000 results | 2026-10-26 |
| YouTube Video, Playlist & Channel Downloader with Metadata | YouTube video metadata, media files, captions, transcripts, and honest failure rows. Fields include video_url, title, uploader. | 20 | $0.99 per 1,000 results | 2026-10-24 |
| YouTube Caption & Whisper AI Transcript Extractor | One record per video with its transcript (segments, full text, SRT/VTT, optional word timings), caption/translation metadata, chapters… Fields include video_id, title, channel_name. | 31 | $0.99 per 1,000 results | 2026-10-21 |
| YouTube Channel Contact Email Finder | Dataset of YouTube channel contact records with channel metadata, public emails and their sources, links, socials, and hidden-email flags. Fields include channelId, handle, name. | 16 | $0.99 per 1,000 results | 2026-10-26 |
Call these Actors from code: the YouTube data API page
Store links: youtube-channel-about-playlists-and-posts-finder, youtube-channel-video-catalog-and-profile-scraper, youtube-channel-video-feed-quick-scraper, youtube-community-tab-post-and-poll-scraper, youtube-hashtag-video-and-shorts-ranking-scraper, youtube-live-stream-and-replay-chat-extractor, youtube-playlist-contents-and-channel-playlist, youtube-search-results-and-entity-type-scraper, youtube-search-suggestions-scraper, youtube-shorts-metadata-extractor-for-channels, youtube-sponsorblock-segments-scraper, youtube-trending-feed-extractor-by-category, youtube-video-comment-and-reply-thread-scraper, youtube-video-metadata-and-chapter-extractor, youtube-video-playlist-and-channel-downloader, youtube-caption-and-whisper-ai-transcript, youtube-channel-contact-email-finder
YouTube recipes for n8n
YouTube comments to Google Sheets
Export the comments and replies of YouTube videos to a Google Sheet, newest first, with likes and author…
YouTubeGoogle SheetsYouTube transcripts to Notion
Turn public YouTube transcripts into Notion pages for a research library or RAG corpus.
YouTubeNotionYouTube new videos to Slack
Announce a channel's newest YouTube videos in Slack with title, views and link, for competitor or creator…
YouTubeSlackYouTube channel videos to Google Sheets
Log a YouTube channel's videos in a Google Sheet once each, with title, publish date, views, likes, length…
YouTubeGoogle Sheets
Troubleshooting
Why does the client say Unauthorized or invalid token?
Every Apify Actor tool needs a signed-in Apify account. Reconnect the server so the OAuth sign-in runs again, or switch to the token variant: an Authorization: Bearer header with an API token from Apify Console, Settings, API and integrations. For a local server the token must be in the server's own env block, not only in your shell.
Source: Apify MCP server README
Why did my agent's tool list change after an update?
Without a tools parameter Apify's server loads its default tool set, which changes between releases. The URLs on this site pin the tools with ?tools=, so the agent always gets the same Actor tool plus fetch-actor-details. Apify's README gives the same advice for production.
Source: Apify MCP server README
What happens when the agent sends input the Actor rejects?
The server answers with the Actor's input schema, so the agent can fix the arguments and call again. The fetch-actor-details tool in every scoped URL lets it read that schema before the first call.
Source: Apify MCP server README
Claude Code shows Needs authentication. Why?
The server is added but not signed in. Type /mcp in an interactive session and authenticate, or run claude mcp login with the server name. Headless runs with claude -p cannot complete OAuth, so sign in once interactively or use the --header token variant.
Source: Claude Code MCP documentation
Claude Code warns that a tool result is too large. What can I change?
Claude Code warns above 10,000 tokens of tool output and caps it at 25,000 by default (MAX_MCP_OUTPUT_TOKENS raises it). Ask the agent for fewer results per call, for example a lower result limit for the Actor.
Source: Claude Code MCP documentation
Cursor does not show the server's tools. What should I check?
Open the Output panel and pick MCP Logs to see the connection error. A deeplink install that does nothing usually means an older Cursor build; update it or paste the JSON into mcp.json by hand.
Source: Cursor MCP documentation
Questions
How do I get YouTube data into Claude?
Add the Apify MCP configuration for Claude Desktop or Claude Code and complete Apify authentication in your client. Ask Claude to inspect the chosen Actor’s published schema, collect the relevant public records and return source links.
Can Claude get YouTube transcripts with this connection?
The listed Actors document channel, video, post, playlist, search and chat records, without establishing transcript or caption output. Spoken-content summaries need a separate transcript source.
Do I need to sign in to YouTube or use OAuth?
The configurations do not set up YouTube OAuth, and an Apify token does not sign you into YouTube. You must authenticate Apify yourself; Recipe for Agents has not authenticated either service for you.
How do I make Claude search YouTube or read a playlist?
Add YouTube Search Results & Entity Type Scraper or YouTube Playlist Contents & Channel Playlist Finder to the MCP tool list, since neither appears in the ready-to-copy configurations. Then ask Claude to inspect the selected Actor’s inputs before collecting search results or playlist contents.
Sources
- Apify MCP server documentation, checked 2026-11-10
- YouTube Data API v3 documentation, checked 2026-11-09
- YouTube Data API v3 pricing
- YouTube terms