YouTube Transcript API

Extract YouTube transcripts
without quotas or API keys

Get captions from any public YouTube video. No YouTube Data API quota. No browser automation. Just transcripts, structured and ready for your app.

1,000 free requests/month. No credit card required.

pip install trawl-sdk
from trawl import TrawlClient

client = TrawlClient()

# Search YouTube videos
videos = client.search.youtube("machine learning tutorial", max_results=5)
for v in videos.results:
    print(f"[{v.channel}] {v.title}")

# Extract transcript from any video
transcript = client.transcripts.preview(
    "https://youtube.com/watch?v=dQw4w9WgXcQ"
)

for segment in transcript.segments:
    print(f"[{segment.start:.1f}s] {segment.text}")

# Output in 5 formats: TXT, JSON, SRT, VTT, JSONL

Why developers choose Trawl

No YouTube Data API quota consumed
Works with any public video — no restrictions
Auto-generated and manual captions
5 output formats (TXT, JSON, SRT, VTT, JSONL)
JSONL chunks for RAG / vector databases
AI summarization and entity extraction
Bulk extraction (up to 500 URLs per request)
Webhook alerts when channels post new videos
Python SDK, TypeScript SDK, MCP server for Claude

10+

Content sources

5

Output formats

49

MCP tools for Claude

Start extracting transcripts in 30 seconds

pip install trawl-sdk

python -c "
from trawl import TrawlClient
t = TrawlClient().transcripts.preview(
    'https://youtube.com/watch?v=dQw4w9WgXcQ'
)
print(f'{len(t.segments)} segments extracted')
"
Get your free API key