If you're building AI apps that summarize YouTube videos, power RAG over video content, or generate subtitles, you need reliable transcript text — not browser scraping that breaks every other week.
This guide shows a simple REST approach that returns JSON with timestamps, plain text, or raw timed cues.
Why transcripts matter for AI
- Summarization — feed transcript text to GPT/Claude instead of sending video
- RAG — chunk timed cues into a vector database for semantic search
- Accessibility — build caption tools without manual SRT editing
- Content indexing — search across a channel's spoken content
Quick start with curl
curl "https://get-youtube-transcript.p.rapidapi.com/transcript?video_id=jNQXAC9IVRw&format=json" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: get-youtube-transcript.p.rapidapi.com"
Replace YOUR_KEY with a key from the YouTube Transcript API on RapidAPI. The Basic plan includes 100 free requests/month.
Python example
import requests
API_URL = "https://get-youtube-transcript.p.rapidapi.com/transcript"
headers = {
"X-RapidAPI-Key": "YOUR_KEY",
"X-RapidAPI-Host": "get-youtube-transcript.p.rapidapi.com",
}
params = {"video_id": "jNQXAC9IVRw", "format": "json"}
data = requests.get(API_URL, headers=headers, params=params, timeout=60).json()
for cue in data["transcript"]:
print(f"[{cue['start']:.1f}s] {cue['text']}")
Response formats
| format | Use case |
|---|---|
json |
LLM pipelines, metadata + timestamps |
text |
Simple summarization |
raw |
Subtitle/SRT workflows |
Parameters
-
video_id— 11-char YouTube ID or passurlwith full YouTube link -
languages— comma-separated codes, e.g.en,pt
Production tip
For batch jobs (indexing hundreds of videos), upgrade to the Ultra plan on RapidAPI — 100k requests/month at $9. Test in the playground first with any public video ID.
Disclosure: I built this API. Feedback welcome — especially on languages, latency, and batch endpoints.
Top comments (0)