YouTube data

YouTube Channel Transcripts: every video of a channel, one run

Transcripts for the recent videos of a YouTube channel in one run, up to 50 channels: give a handle or channel URL, get one row per video with full transcript text, language, duration and views. Videos without captions cost nothing. Pay per transcript.

$2.50per 1,000 ยท Transcript fetched

One video transcript delivered. Channels that fail and videos without captions are never charged.

run it
# one call, results straight back
curl -X POST "https://api.apify.com/v2/acts/steadydata~youtube-channel-transcripts/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Input

FieldNameWhat it does
channels
required
ChannelsOne per row, up to 50: an @handle, a channel id (UC...) or any youtube.com channel URL.
maxVideosPerChannelMax videos per channelCost ceiling per channel, newest first. Each delivered transcript is one charged event.
languagesPreferred transcript languagesLanguage codes in order of preference, for example en, nl, de. Empty takes the video's default track.
preferManualCaptionsPrefer manual captionsOn, a human-made track wins over an auto-generated one when both exist.
includeTimestampedSnippetsInclude timestamped snippetsOn, each row also carries the transcript as timed snippets. Off keeps rows small.

What you get back

FieldType
channelHandlestring, null
channelIdstring, null
channelNamestring, null
videoIdstring, null
urlstring, null
titlestring, null
publishedTextstring, null
viewCountinteger, null
durationSecondsinteger, null
languagestring, null
isAutoGeneratedboolean, null
textstring, null
snippetsarray, null
statusstring, null
inputstring, null
errorCodestring, null
errorstring, null
skippedNoCaptionsinteger, null