YouTube Video Transcript docs
Search YouTube, check video details, fetch transcripts and comments, or collect results in the background. Use the website guide for interactive work, MCP for chat clients, or the REST API reference below for scripts. All three share one credit balance.
Quickstart
Fetch a transcript in three steps:
- Create an account and go to API keys.
- Generate a key. It starts with
yvt_live_and is shown exactly once. Store it in your password manager or project secrets. - Send a request:
bash
curl -H "Authorization: Bearer yvt_live_..." \
"https://api.youtubevideotranscript.io/api/v1/transcript/dQw4w9WgXcQ"You'll get back a JSON object with the transcript array, detected language, and video metadata when available. A successful transcript fetch costs 1 credit. See GET /transcript/:id for the full response shape.
Core flows
- Search YouTube or a specific channel without spending credits
- Check caption tracks and video metadata, with optional dates and likes
- Fetch single transcripts in 6 formats: JSON, plain text, SRT, CSV, DOCX, Markdown
- Submit bulk jobs from a channel or playlist URL, poll for progress, download the result as a ZIP
- Resolve any YouTube URL into a video list before submitting
- Read public comments and reply threads at 1 credit per nonempty page
- Check your remaining shared credits at any time
Endpoints
GET /api/v1/searchsearches YouTube.GET /api/v1/channel/searchsearches one channel.GET /api/v1/video/:videoIdreads video details and caption tracks.GET /api/v1/channel/playlistslists a channel's playlists.GET /api/v1/channel/countgets its long-form video count.GET /api/v1/usagechecks quota state.GET /api/v1/resolvepreviews a channel or playlist.GET /api/v1/transcript/:videoIdfetches one transcript synchronously.GET /api/v1/comments/:videoIdfetches one comments page, charged only when nonempty.POST /api/v1/jobsstarts the bulk-job lifecycle.GET /api/v1/jobslists your recent jobs from any surface.GET /api/v1/jobs/:idchecks progress.GET /api/v1/jobs/:id/videosreads saved results.GET /api/v1/jobs/:id/exportdownloads a ZIP.DELETE /api/v1/jobs/:idcancels a job and refunds its unused reservation.
Conventions
- Base URL:
https://api.youtubevideotranscript.io/api/v1. - All endpoints require a Bearer token. See Authentication.
- Errors use a stable envelope:
{ error: { type, message, details? }, request_id }. See Errors. - Every response carries
X-Request-Id. Log it with failed requests so you can trace them later. - API, MCP, and web UI share the same credit balance. See Quotas & credits.
Next steps
- Authentication: Bearer token, key rotation, lost-key flow
- Quotas & credits: how transcripts are deducted and refunded
- Errors: every error type your client should handle
- Bulk jobs: full async pattern with idempotency and polling