Skip to main content

transcriptyt

Python client for the TranscriptYT YouTube Transcript API. Get any public video's transcript as JSON, text, SRT, VTT, CSV or Markdown, in 150+ languages, with AI transcription when a video has no captions. Requests run through rotating proxies, so they keep working from cloud servers where YouTube blocks direct scraping.

pip install transcriptyt

Get a free API key (100 credits) at transcript-yt.com/dashboard/keys.

Usage

from transcriptyt import TranscriptYT

client = TranscriptYT()  # reads TRANSCRIPTYT_API_KEY, or pass api_key="ts_live_..."

t = client.transcript("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
print(t["title"], t["language"])
print(t["text"])
for seg in t["segments"][:3]:
    print(seg["timestamp"], seg["text"])

# Other formats return a string
srt = client.transcript("dQw4w9WgXcQ", format="srt")

# Translate, or pick a language
client.transcript("dQw4w9WgXcQ", translate_to="es")
client.transcript("dQw4w9WgXcQ", language="de")

# Up to 50 videos per call, or a whole playlist/channel
batch = client.transcripts(["dQw4w9WgXcQ", "jNQXAC9IVRw"], format="text")
batch = client.transcripts(playlist="https://www.youtube.com/@mkbhd", limit=20)
for r in batch["results"]:
    print(r["url"], r["ok"])

# Free endpoints
client.search("python tutorial", limit=10)
client.playlist("https://www.youtube.com/playlist?list=...")
client.languages("dQw4w9WgXcQ")
client.usage()

# AI summary, key points and timestamped notes
client.summary("dQw4w9WgXcQ")

Async

from transcriptyt import AsyncTranscriptYT

async with AsyncTranscriptYT() as client:
    t = await client.transcript("dQw4w9WgXcQ")

Errors

Every non-2xx response raises TranscriptYTError with .code (e.g. NO_CAPTIONS, VIDEO_UNAVAILABLE, RATE_LIMITED, OUT_OF_CREDITS), .status and .message. Rate-limit and capacity responses (429/503) are retried automatically (max_retries=2).

from transcriptyt import TranscriptYTError

try:
    client.transcript("dQw4w9WgXcQ", mode="captions")
except TranscriptYTError as e:
    print(e.code, e.message)

Transcript options

Argument Description
language BCP-47 code of the track to fetch
translate_to Machine-translate to this language (150+), keeping timing
format json (default), text, srt, vtt, csv, md
include_segments False returns only the full text (JSON)
timestamps Prefix lines with [HH:MM:SS] in text/md
paragraphs, chunk_size Merge segments into paragraphs of up to chunk_size characters
caption_type any, manual, auto
original_language Prefer the spoken language over English
mode auto (captions, then AI), captions (never AI), ai
start_time, end_time Only part of the video, in seconds
search Only lines containing this text

Full API reference: transcript-yt.com/docs. Using LangChain? See langchain-transcriptyt.

License

MIT

Metadata

Release files for transcriptyt 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for transcriptyt 0.1.0
File Size Uploaded
transcriptyt-0.1.0.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for transcriptyt 0.1.0
File Interpreter ABI Platform
transcriptyt-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / transcriptyt-0.1.0.tar.gz

Download URL transcriptyt-0.1.0.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a6fb15364f66762cd7f74023d812b16cbf788085b1c95eca93088fd11c959a14
BLAKE2b-256 checksum
How to use checksums
5a941fbcacce51403c28c689ac2af5df82d8dd776285d10a68ed4d3958e24719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / transcriptyt-0.1.0-py3-none-any.whl

Download URL transcriptyt-0.1.0-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7787acb2a3b7cc8dc968a4b8c6d199e5d0d3f68e420e429482bfea0a506a81bc
BLAKE2b-256 checksum
How to use checksums
b14b35055c48bc7f437f7a87c6261730bfaa735449c1af3ece124a308486b5e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page