Video Transcripts MCP Server — YouTube & TikTok for AI avatar

Video Transcripts MCP Server — YouTube & TikTok for AI

Pricing

from $50.00 / 1,000 transcripts

Go to Apify Store
Video Transcripts MCP Server — YouTube & TikTok for AI

Video Transcripts MCP Server — YouTube & TikTok for AI

Hosted video-transcript MCP server: pull the full transcript of any YouTube or TikTok video — from Claude, Cursor, ChatGPT or any MCP client. Plain text + SRT, reads existing captions. Billed per transcript.

Pricing

from $50.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Video Transcripts MCP Server — a hosted Model Context Protocol server with get_youtube_transcript and get_tiktok_transcript tools

Give your AI assistant full video transcripts. This Actor runs as a hosted MCP server (Model Context Protocol): connect Claude, Cursor, ChatGPT, VS Code or any MCP client and it can pull the complete transcript of any YouTube or TikTok video — with no API keys, no OAuth, and nothing to host. A drop‑in transcript API for AI agents.

Apify hosts it, authenticates it with your Apify token, and bills it per transcript — you don't run or host anything.


🧰 Tools

Two tools, both returning clean JSON — ready for an LLM to read, summarise or quote.

ToolWhat it doesKey arguments
get_youtube_transcriptFetch a YouTube video's transcript. Accepts any URL form — watch?v=, youtu.be/, shorts/, embed/ — or a bare 11‑char video id. Returns plain text, timestamped segments, and SRT.url (required), language (optional code, e.g. en, de, es)
get_tiktok_transcriptFetch a single TikTok video's caption transcript from its URL. Uses TikTok's own caption track (creator‑added or auto‑ASR). Videos with no captions return found: false — a valid answer, not an error.url (required)

Both tools read existing captions (creator subtitles + platform auto‑ASR). There is no audio transcription (no Whisper) — so calls are fast and cheap.


🔌 Connect it

This Actor runs in Standby mode and exposes an MCP endpoint at /mcp over the Streamable HTTP transport. Point your MCP client at the Actor's Standby URL and authenticate with your Apify API token as a bearer token.

Add this to your MCP client config (Claude Desktop, Cursor, VS Code, Windsurf, …):

{
"mcpServers": {
"transcripts": {
"url": "https://memo23--transcripts-mcp-server.apify.actor/mcp",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}
  • Your Standby URL is shown on the Actor's page once you enable Standby (looks like https://<user>--transcripts-mcp-server.apify.actor).
  • Your Apify API token is under Settings → Integrations in the Apify Console.

That's it — your assistant discovers the two tools automatically and picks the right one.


💬 Example prompts

Once connected, just ask your assistant naturally:

  • “Get the transcript of this YouTube video and summarise the key points: <video URL>.”
  • “Pull the transcript of https://youtu.be/dQw4w9WgXcQ and give me the SRT.”
  • “Transcribe this TikTok and list every product it mentions: <tiktok URL>.”
  • “Grab the German transcript of this talk and translate the intro.”
  • “Read these five YouTube videos and tell me which one actually explains the setup.”

📦 Example tool calls & output

get_youtube_transcript

{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }
{
"videoId": "dQw4w9WgXcQ",
"source": "youtube-transcript",
"language": null,
"text": "We're no strangers to love You know the rules and so do I …",
"textTruncated": false,
"segments": [
{ "text": "We're no strangers to love", "startMs": "18800", "endMs": "21160", "startTimeText": "0:18" },
{ "text": "You know the rules and so do I", "startMs": "23000", "endMs": "25400", "startTimeText": "0:23" }
],
"srt": "1\n00:00:18,800 --> 00:00:21,160\nWe're no strangers to love\n\n2\n00:00:23,000 --> 00:00:25,400\nYou know the rules and so do I\n"
}

text is the full plain transcript (~2,089 characters for this video). segments[] carries the timestamped cues and srt is a ready‑to‑use subtitle file. Any URL form works — watch?v=…, youtu.be/…, shorts/…, embed/…, or a bare 11‑char id.

get_tiktok_transcript — captioned video

{ "url": "https://www.tiktok.com/@user/video/7261234567890123456" }
{
"videoId": "7261234567890123456",
"author": "user",
"found": true,
"source": "caption",
"language": "eng-us",
"text": "Today I'm going to show you three ways to cut your grocery bill in half …",
"textTruncated": false,
"vtt": "WEBVTT\n\n00:00:00.120 --> 00:00:02.400\nToday I'm going to show you …"
}

text is the full caption transcript (~1,307 characters here). source: "caption" means it came from TikTok's own caption track. The raw vtt is included when it's small enough to attach.

get_tiktok_transcript — video with no captions

{ "url": "https://www.tiktok.com/@user/video/7000000000000000000" }
{
"videoId": "7000000000000000000",
"author": "user",
"found": false,
"note": "No caption track on this video (e.g. music-only / no speech). TikTok only ships captions when the creator added them or its auto-ASR produced them."
}

found: false is a valid result, not an error — some TikToks (music‑only, no speech) simply carry no caption track. Nothing is charged for a found: false answer.


✅ Why use it

  • No API keys. No YouTube Data API, no TikTok developer app, no OAuth — this reads public caption data directly.
  • Two platforms, one server. YouTube and TikTok transcripts from a single MCP endpoint.
  • Built for agents. Clean, typed tools with descriptions LLMs understand, so your assistant picks the right one and gets structured JSON back.
  • Multiple formats. Plain text for reasoning, timestamped segments and SRT for subtitles.
  • Pay per transcript. Billed only when a transcript is actually returned — no subscription, no idle server, nothing to host.
  • Works everywhere. Standard Streamable HTTP MCP transport — Claude, Cursor, ChatGPT, VS Code, Windsurf, or your own agent.

🎯 Great for

  • Video summarisation — feed an agent the transcript instead of the video.
  • Content repurposing — turn talks, tutorials and TikToks into blog posts, threads or show notes.
  • Research & fact‑checking — quote exactly what was said, with timestamps.
  • Subtitles & localisation — export SRT and translate.
  • Search & RAG — index what creators actually say across many videos.

⚙️ How it works & notes

  • YouTube is fetched over plain HTTP (no browser) — fast, with a fallback source that catches auto‑generated and translated tracks.
  • TikTok uses a stealth browser with a residential exit to read the video's inline caption track, so it's a few seconds slower than YouTube. It automatically retries with a fresh session if TikTok serves an empty page.
  • Existing captions only. Both tools return the video's own captions (creator subtitles + platform auto‑ASR). There is no audio‑to‑text transcription — a video with truly no captions returns nothing (YouTube) or found: false (TikTok).
  • Very long transcripts are capped at ~60,000 characters (textTruncated: true flags it).

⚠️ Disclaimer

This Actor accesses only publicly available caption data and performs no login or private‑account access. You are responsible for using the output in compliance with each platform's terms and applicable laws. Not affiliated with, endorsed by, or sponsored by YouTube, Google, or TikTok. “YouTube” and “TikTok” are trademarks of their respective owners.


🔎 SEO keywords

Video transcript MCP, YouTube transcript MCP, TikTok transcript MCP, MCP server, Model Context Protocol, YouTube transcript API, TikTok transcript API, get YouTube captions, get TikTok captions, YouTube to SRT, transcript for Claude, transcript for Cursor, transcript for ChatGPT, video transcript for AI agents, YouTube subtitles API, TikTok subtitles, auto-generated captions, video captions for LLM, no-API-key transcript, hosted MCP server, Streamable HTTP MCP.