Step-by-step guides for every way you can use GetTranscript — from a single video to full API automation.
Free, no registration required
Go to the homepage or the Transcript Extractor page. No account needed.
Copy any public YouTube video link and paste it into the input field. The "Single Video" tab is selected by default.
E.g: https://www.youtube.com/watch?v=dQw4w9WgXcQ
The transcript is extracted in seconds. You'll see the full text with timestamps.
Copy to clipboard with one click, or download in TXT, SRT, VTT, CSV, or JSON format.
Tip: Single video extraction is completely free and doesn't require an account or credits. Perfect for occasional use.
Requires sign-in and credits
Sign in with Google, then purchase a credit package on the Pricing page. 1 credit = 1 video.
Go to the Transcript Extractor and switch to the "Channel or Playlist" tab.
Copy the playlist link from YouTube (it contains list=) and paste it.
E.g: https://www.youtube.com/playlist?list=PLrAXtmRdnEQy...
The system processes videos in the background. You can close the tab and come back later — jobs keep running.
When finished, download all transcripts at once as a ZIP archive — one file per video.
Tip: Credits are only deducted for successfully processed videos. Failed extractions are automatically refunded.
Bulk-process up to 100 videos per job
Channel extraction requires an account and credits.
Switch to the "Channel or Playlist" tab.
Copy the channel page URL from YouTube and paste it in.
E.g: https://www.youtube.com/@channelname
Up to 100 videos per request. Jobs run in the background — no need to keep the tab open.
Follow job status in real time. When done, download all transcripts as a ZIP archive.
Note: Large channels may need multiple batches. Each job can contain up to 100 videos, and you can run multiple jobs in parallel.
Programmatic access via REST
Create a key in your dashboard. All requests are authenticated with a single header.
Open API Keyscurl -X POST https://gettranscript.app/api/transcript \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"videos": ["dQw4w9WgXcQ", "5OLs1GWB4OA"]
}'Jobs run asynchronously. Check status until it says completed.
curl https://gettranscript.app/api/transcript/{jobId}/status \
-H "x-api-key: YOUR_API_KEY"curl -X POST https://gettranscript.app/api/transcript/{jobId}/download \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"format": "srt"}' \
--output transcripts.zipSchedule recurring extractions
GetTranscript works well with any scheduler — cron, GitHub Actions, Vercel Cron, n8n, Make, Zapier. Here's a typical pattern.
Save it as an environment variable (GETTRANSCRIPT_API_KEY) in your scheduler or CI. Never commit it to code.
Set up a daily or weekly cron that sends a POST to the transcript endpoint with a list of video IDs.
Run a loop that checks status every 30-60 seconds until the job finishes. Exit once status: completed.
Fetch the ZIP, unzip it, and send the transcripts to your database, S3, Notion, Slack, or wherever they're needed.
Tip: Keep an eye on your credit balance. You can check it in your dashboard or fetch it programmatically. Set up low-balance alerts to avoid failed jobs.
Check the full API docs, or email us — we usually reply within 24 hours.