youtube-transcript-apifySAFE
YouTube transcripts that keep working on AWS, GCP, Vercel and other cloud servers. Python client, CLI and MCP server.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A YouTube transcript API for Python that keeps working on AWS, Google Cloud, Azure, Vercel, Render and other cloud servers: a drop-in fix for `youtube-transcript-api` when it gets IP-blocked.
If your code works on your laptop but fails in production with RequestBlocked, IpBlocked, TooManyRequests or HTTP 429, YouTube is blocking your server's IP address. Most cloud IP ranges are blocked. This package sends the request to a hosted scraper on Apify that handles proxies and retries, and gives you back plain Python data.
- Same shape as the classic
youtube-transcript-apicall: a list of{"text", "start", "duration"}. - Plain text, timestamped text, SRT and VTT subtitles, in the video's own language, any caption language you ask for, or translated.
- Videos without captions are reported, not charged.
- The client uses only the standard library. Includes a CLI and an MCP server for Claude, Cursor and other AI agents.
Disclosure: this package is a thin client for the YouTube Transcript Scraper Actor, which is made by the same author (nokia2k). Runs are billed by Apify: $2.99 per 1,000 transcripts on Apify's Free plan, down to $1.49 on paid plans, at the time of writing. The Free plan includes $5 of credit every month, no card needed.
Install
pip install youtube-transcript-apify # client, CLI and MCP server
Get a free API token at and set it:
export APIFY_TOKEN=apify_api_...
Use the YouTube transcript API in Python
Replace the call that gets blocked:
# before
# from youtube_transcript_api import YouTubeTranscriptApi
# segments = YouTubeTranscriptApi.get_transcript("arj7oStGLkU", languages=["en"])
# after
from yt_transcript_apify import get_transcript
segmenee3d88b5319aOBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add youtube-transcript-apify --env APIFY_TOKEN=${APIFY_TOKEN} -- None youtube-transcript-apify==0.1.0Exposed tools (2)
2 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
get_youtube_transcript | read | Get the transcript of one YouTube video or Short. |
get_youtube_transcripts | read | Get the plain-text transcripts of several YouTube videos in one call (up to 50). |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (4 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
ee3d88b5319afull audit observations/trust-audit/mcp-server/nokia2k2__youtube-transcript-apify.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | ee3d88b5319a | SAFE | B | 89 | first audit |
Questions
What is the youtube-transcript-apify MCP server?
YouTube transcripts that keep working on AWS, GCP, Vercel and other cloud servers. Python client, CLI and MCP server.
What tools does youtube-transcript-apify expose?
2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is youtube-transcript-apify safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does youtube-transcript-apify need?
It reads APIFY_API_TOKEN and APIFY_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does youtube-transcript-apify run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as youtube-transcript-apify.
How current is this page?
The grade is for one exact copy of the source (ee3d88b5319a), read on 2026-10-10. The repository is watched and re-audited when it changes.