YouTube Transcript Scraper
Pricing
$0.30 / 1,000 results
YouTube Transcript Scraper
Retrieve YouTube caption segments with text, language and timing information. Enter a YouTube video ID and choose a transcript language when needed.
Pricing
$0.30 / 1,000 results
Rating
0.0
(0)
Developer
Scrappa
Maintained by CommunityActor stats
1
Bookmarked
6
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Retrieve YouTube caption segments with text, language and timing information. Enter a YouTube video ID and choose a transcript language when needed.
What data can you extract?
Transcript timing is measured per caption segment; some videos have no public captions in the selected language.
| Field | Type | Description |
|---|---|---|
videoId | string | video ID for the transcript segment, assigned by YouTube; null when the source does not expose it. |
language | string | Language code or language name used for this text; null when YouTube does not provide the value. |
languageName | string | Language code or language name used for this text; null when YouTube does not provide the value. |
sourceLanguage | string | Language code or language name used for this text; null when YouTube does not provide the value. |
sourceLanguageName | string | Language code or language name used for this text; null when YouTube does not provide the value. |
isAutoGenerated | boolean | Whether the transcript was auto-generated; false is a reported value, while null means YouTube provided no flag. |
isTranslated | boolean | Whether the transcript was translated; false is a reported value, while null means YouTube provided no flag. |
segmentCount | integer | Number of transcript segments shown by YouTube, as a whole number; zero is possible, and null means no count was reported. |
text | string | Text content from YouTube for this transcript segment; null when the source has no text to show. |
transcript | array | Caption segments with text, start time in seconds and segment duration from YouTube; an empty list when no entries are available. |
availableLanguages | array | Language codes available for the transcript from YouTube; an empty list when no entries are available. |
translationLanguages | array | Language codes available for transcript translation from YouTube; an empty list when no entries are available. |
Use cases
- Editors can search spoken content while preparing notes or a written recap.
- Accessibility teams can review caption text and timing before producing a transcript.
- Localization teams can check available language tracks before planning subtitles.
How to use
- Open the Actor’s Input tab and start with the JSON below.
- Set
idto the search term or source identifier you want to look up, then use the optional filters listed below. - Start the run and open its default dataset to inspect or download the rows.
{"id": "dQw4w9WgXcQ","language": "en","hl": "en","gl": "US"}
The run dataset can be downloaded as JSON, CSV, Excel or another format offered by Apify.
Input
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The 11-character YouTube video ID to fetch a transcript for. |
language | string | No | Preferred transcript or translation language code, such as en, es, de, or fr. Leave empty to use YouTube's default transcript. |
hl | string | No | Two-letter YouTube interface language code used for transcript metadata. |
gl | string | No | Two-letter country code used for YouTube localization. |
debug | boolean | No | Include Scrappa debug metadata when available. |
Output example
The record below is synthetic. Names and links are examples, and private contact fields are omitted.
{"transcript": [{"text": "Welcome to the Saturday market.","start": 0.0,"duration": 2.8},{"text": "We will walk down Alder Street next.","start": 2.8,"duration": 3.1}],"text": "Choose a sunny spot, add drainage, then water herbs when the top of the soil feels dry.","videoId": "aB3dE5fG7hJ","language": "en","languageName": "English","sourceLanguage": "en","sourceLanguageName": "English","isAutoGenerated": false}
Pricing
Current live price: $0.30 per 1,000 results.
Each saved video, post or comment record counts as one result.
FAQ
Is it legal to collect public information?
This Actor is for information visible on the public source pages it reads. You are responsible for checking the source terms, privacy and copyright rules, and the laws that apply to your use.
How many records will a run return?
The result count depends on the input limits, pagination settings and what the source makes available. A small query or unavailable page can return fewer records, including none.
Can I call it through the API or connect it to other tools?
Yes. Send the same JSON input to POST https://api.apify.com/v2/acts/thescrappa~youtube-transcript-scraper/runs, then read the run’s default dataset. Make, Zapier and n8n can start runs and pass dataset rows to the next step; Google Sheets can receive rows through those workflows or a dataset export.
What happens when a request fails?
Check the run log for the source or input error, correct the input and retry after a temporary source issue. A run can contain rows saved before a later request failed.
Can YouTube Transcript return translated captions?
Set the video id and choose a supported language when needed. The Actor returns available caption segments; a transcript may be missing when the video has no accessible captions.