YouTube Transcript API — Documentation

One API to get transcripts from any YouTube video, enriched with sentiment analysis, keyword extraction, and AI summaries. Responses are JSON by default, with plain text and SRT subtitle formats available. Every endpoint requires a Bearer API key (get a free key — no credit card required).

Base URL

https://ytapi.app/api/v1

Authentication

Pass your API key as a Bearer token on every request:

Authorization: Bearer your_api_key

Endpoints

GET /transcript?video_id=<YouTube URL or ID>

Returns the transcript as JSON with timestamps.

GET /transcript?video_id=<id>&format=text

Plain text transcript (no timestamps).

GET /transcript?video_id=<id>&format=srt

SRT subtitle format, ready for video players.

GET /analyze?video_id=<YouTube URL or ID>

Transcript plus sentiment analysis, keyword extraction, and an AI-generated summary. Optional flags: include_sentiment, include_keywords, include_summary.

GET /account/usage

Check your current usage and daily limits.

Query parameters

ParameterDescriptionDefault
video_idYouTube video URL (any form) or raw 11-char video ID. Required.—
formatjson, text, or srt.json
langLanguage code (e.g. en, es, fr).en
include_sentimentInclude sentiment analysis (analyze endpoint).true
include_keywordsInclude keyword extraction (analyze endpoint).true
include_summaryInclude AI summary (analyze endpoint).true

Example

curl -H "Authorization: Bearer your_api_key" \
  "https://ytapi.app/api/v1/transcript?video_id=jNQXAC9IVRw"

Try more examples interactively in the Swagger UI.

Rate limits by tier

TierRequests per dayMax video duration
Free no card5010 min
Hobby5,0001 hr
Pro50,0004 hrs
Business100,00024 hrs

Support

Questions or issues? Email support@ytapi.app.