Supadata
An API platform that provides YouTube video caption and transcription extraction services. It supports retrieval of native captions as well as AI-generated transcriptions, offers a free tier, and supports asynchronous task processing.
Timeline (last 90 days)
This automated workflow uses Google Apps Script to call the Supadata API to fetch YouTube video subtitles, then passes them to a large language model to generate summaries and write them back to Google Sheets.
The Supadata transcription endpoint is GET /v1/transcript, with authentication via the x-api-key request header.
The mode=native parameter of the Supadata transcription API only retrieves existing subtitles without triggering AI generation, text=true returns continuous text, and lang specifies the original language.
If the requested language does not exist, Supadata returns the first available language, so the script needs to verify the lang field in the returned result and discard the result if there is a mismatch.
For very long videos, the Supadata API may return status code 202 and a jobId, requiring polling of GET /v1/transcript/{jobId} until the status changes to completed or failed.
This idempotency approach trades retryability for zero duplicate charges—when transcription succeeds but summary generation fails, the video is marked as erro and stays in place, requiring manual deletion of the attribute before it will be retried.
A status code of 206 or transcript-unavailable indicates that the video has no subtitles in the requested language, and language codes should use the ISO 639-1 standard.
All Facts (7)
This automated workflow uses Google Apps Script to call the Supadata API to fetch YouTube video subtitles, then passes them to a large language model to generate summaries and write them back to Google Sheets.
50%UnverifiedThe Supadata transcription endpoint is GET /v1/transcript, with authentication via the x-api-key request header.
50%UnverifiedThe mode=native parameter of the Supadata transcription API only retrieves existing subtitles without triggering AI generation, text=true returns continuous text, and lang specifies the original language.
50%UnverifiedIf the requested language does not exist, Supadata returns the first available language, so the script needs to verify the lang field in the returned result and discard the result if there is a mismatch.
50%UnverifiedFor very long videos, the Supadata API may return status code 202 and a jobId, requiring polling of GET /v1/transcript/{jobId} until the status changes to completed or failed.
50%UnverifiedThis idempotency approach trades retryability for zero duplicate charges—when transcription succeeds but summary generation fails, the video is marked as erro and stays in place, requiring manual deletion of the attribute before it will be retried.
50%UnverifiedA status code of 206 or transcript-unavailable indicates that the video has no subtitles in the requested language, and language codes should use the ISO 639-1 standard.
50%