TranscriptFetch
БесплатноНе проверенFetch YouTube transcripts + metadata by video, search, channel, or playlist as clean JSON.
Описание
Fetch YouTube transcripts + metadata by video, search, channel, or playlist as clean JSON.
README
Official, typed Python client for the TranscriptFetch API: fetch YouTube transcripts, channels, playlists, and search results as clean, structured data. Sync + async, fully type-hinted.
pip install transcriptfetch-sdk
Quickstart
from transcriptfetch import TranscriptFetch
# api_key falls back to the TRANSCRIPTFETCH_API_KEY env var
tf = TranscriptFetch(api_key="tf_live_...")
t = tf.transcripts.video("https://youtu.be/aircAruvnKk")
print(t.title)
print(t.text)
for seg in t.segments:
print(f"[{seg.start:.1f}] {seg.text}")
print("credits left:", t.usage.balance)
Get an API key (100 free credits) at https://transcriptfetch.com/app. One credit per successful fetch; failed/blocked/no-transcript requests are free.
Endpoints
tf.transcripts.video(video) # single transcript (text + segments)
tf.transcripts.channel(channel, limit=, cursor=) # a channel's videos (metadata)
tf.transcripts.playlist(playlist, limit=, cursor=) # a playlist's videos
tf.transcripts.search(query, limit=, cursor=) # search YouTube
tf.transcripts.batch(video_ids) # up to 50 transcripts in one call
tf.health() # unauthenticated liveness probe
video/channel/playlist accept URLs or raw IDs (normalized automatically).
Pagination
List endpoints are cursor-paginated. Iterate every result without managing cursors:
for video in tf.transcripts.iter_channel("@lexfridman", limit=10):
print(video.video_id, video.title)
Or page manually via page.next_cursor and the cursor= argument.
Async
import asyncio
from transcriptfetch import AsyncTranscriptFetch
async def main():
async with AsyncTranscriptFetch() as tf:
t = await tf.transcripts.video("aircAruvnKk")
print(t.text)
async for v in tf.transcripts.iter_search("how transformers work", limit=10):
print(v.title)
asyncio.run(main())
Errors
All errors subclass TranscriptFetchError. API errors carry .status, .code, .message, and .request_id:
from transcriptfetch import (
AuthenticationError, InsufficientCreditsError, InvalidRequestError,
RateLimitError, IdempotencyConflictError, UpstreamUnavailableError,
InternalServerError, APIError, APIConnectionError, APITimeoutError,
)
try:
tf.transcripts.video("bad")
except InsufficientCreditsError:
... # 402: top up at /pricing
except RateLimitError as e:
print(e.retry_after) # 429
except APIError as e:
print(e.status, e.code, e.request_id)
Reliability
- Automatic retries on
429(honoringRetry-After) and5xx, with exponential backoff + jitter (max_retries=2by default). - Idempotency: every write auto-sends an
Idempotency-Keyso a retried request is never double-charged. Override per call withidempotency_key=.... - Configurable:
TranscriptFetch(api_key=..., base_url=..., timeout=30, max_retries=2). Both clients are context managers and accept a customhttp_client=(httpx).
Development
pip install -e ".[dev]"
ruff check . && mypy src && pytest
Tests are fully mocked (no network). MIT licensed.
Установка TranscriptFetch
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/TranscriptFetch/python-sdkFAQ
TranscriptFetch MCP бесплатный?
Да, TranscriptFetch MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для TranscriptFetch?
Нет, TranscriptFetch работает без API-ключей и переменных окружения.
TranscriptFetch — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить TranscriptFetch в Claude Desktop, Claude Code или Cursor?
Открой TranscriptFetch на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Omni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
автор: buildwithtazaARA
Generate images, video and audio from any AI agent — one connector.
автор: ARAYouTube
Transcripts, channel stats, search
автор: YouTubeEverArt
AI image generation using various models.
автор: modelcontextprotocolCompare TranscriptFetch with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории media
