Extract full transcripts from any YouTube video with a single API call. Simple, fast, and reliable — built for developers.
One GET request. Full transcript returned as JSON.
curl "https://youtube-transcript-api.YOUR-SUBDOMAIN.workers.dev/transcript
?url=https://youtu.be/dQw4w9WgXcQ
&api_key=YOUR_API_KEY"
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://transcript-api.chrisdyson.workers.dev"
def get_transcript(youtube_url):
resp = requests.get(
f"{BASE_URL}/transcript",
params={
"url": youtube_url,
"api_key": API_KEY
}
)
data = resp.json()
return data["full_text"]
text = get_transcript("https://youtu.be/dQw4w9WgXcQ")
print(text)
{
"title": "Rick Astley - Never Gonna Give You Up",
"channel": "RickAstleyVEVO",
"duration": 213,
"video_id": "dQw4w9WgXcQ",
"full_text": "We're no strangers to love, you know the rules...",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.4, "duration": 2.1 },
{ "text": "you know the rules and so do I", "start": 21.2, "duration": 2.5 },
// ... more segments
],
"segment_count": 87,
"usage": { "current": 3, "limit": 25, "month": "2024-01" }
}
Everything you need, nothing you don't.
Deployed on Cloudflare's edge network. Sub-2-second responses from anywhere in the world.
Works with any public YouTube video that has captions enabled — hundreds of millions of videos.
No SDKs required. One GET request returns everything: full text, timestamped segments, metadata.
Secure API key authentication with per-key rate limiting and usage tracking.
Every response includes your current usage so you always know where you stand.
Perfect for LLM pipelines, content summarization, search indexing, and more.
Start free. Scale as you grow. No hidden fees.
Any public YouTube video that has captions or auto-generated subtitles enabled. This covers the vast majority of videos.
We default to English captions when available, but the API returns whatever captions YouTube has for the video.
Each successful API call counts as one request against your monthly quota. Failed requests (invalid URL, no captions) do not count.
Yes! You can change your plan at any time. Changes take effect on your next billing cycle.
The Free tier IS the trial — 25 requests per month, forever. No credit card required.
Requests are limited by your monthly quota. Within that, you can make up to 10 requests per second.
Get your free API key in 30 seconds. No credit card required.
Get Free API Key →