YouTube Transcript Scraper avatar

YouTube Transcript Scraper

Pricing

from $0.37 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper

YouTube Transcript Scraper

Search public YouTube videos and save spoken captions as transcripts. Enter any phrase, then export titles, channels, watch links, and timed caption text. For research, quotes, notes, and monitoring. No YouTube login.

Pricing

from $0.37 / 1,000 transcripts

Rating

0.0

(0)

Developer

rainminer

rainminer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

The YouTube Transcript Scraper turns a YouTube search into transcripts. Type any phrase and get public videos with the spoken caption text, timed segments, channel, and title. No YouTube login.

YouTube

Use it when you need the words from a video without watching it: notes, quotes, research, subtitles, or a searchable archive of a topic.

Key features

  • Search in, transcripts out — one query returns several videos and their caption text
  • Timed segments — each caption line keeps a start time and duration
  • Manual captions first — automatic captions are used when you allow them and no manual track exists
  • Per-query limit — maxItems caps transcripts for each search phrase
  • Schedule it — run the same query daily from an Apify schedule and send new rows to a dataset, webhook, or spreadsheet
  • Residential proxies included — every run uses Apify residential proxies. There is no proxy setting to turn off
  • No login — public videos only

Why scrape YouTube transcripts?

Videos are slow to scan. The caption text is what you can search, quote, and compare.

  • Research — collect what several videos say about the same topic
  • Notes and quotes — pull the spoken lines with timestamps
  • Monitoring — schedule a query and collect new transcripts as videos appear
  • Exports — download JSON, CSV, or Excel, or read the dataset from the Apify API

Who is it for?

  • Researchers comparing how different videos cover one topic
  • Writers and editors who need quotes with a link back to the video
  • Analysts turning a search into a text dataset
  • Developers sending transcripts into their own app with a scheduled Actor run

How much does it cost?

You pay Apify for the run. This Actor does not keep platform costs on the developer account.

  • Transcript — $0.49 per 1,000 transcripts on the free Store tier ($0.00049 each). Bronze, Silver, and Gold discounts apply.
  • Actor start — $0.00005 per run at 1 GB of memory.
  • Platform usage — compute, residential proxy traffic, and storage are billed to the account that starts the run. For the first 14 days after pricing is turned on, that usage is charged as a pass-through event at Apify's cost plus Apify's 20% commission. After that, Apify bills the same usage directly on your account and the pass-through event stops.

A short test of one video is usually well under $0.05 before the transcript fee.

How to use it

  1. Open the Actor in Apify Console.
  2. Enter one or more search queries.
  3. Set maximum videos per query (start with 3).
  4. Leave caption language on en, or switch it to another code such as de.
  5. Click Start. Residential proxies are applied automatically.
  6. Open the dataset. Each row is one video. transcript is the full caption text. segments keeps the timestamps.

Input

{
"searchQueries": ["how to change a tire"],
"maxItems": 3,
"language": "en",
"includeAutoCaptions": true
}
FieldTypeDefaultDescription
searchQueriesstring[]—YouTube search phrases. One dataset group per phrase.
maxItemsinteger3Maximum transcripts saved for each phrase.
languagestringenCaption language code.
includeAutoCaptionsbooleantrueUse automatic captions when a manual track is missing.

A search reads the first page of video results and keeps going until it has saved maxItems transcripts. Age-restricted, private, and members-only videos are skipped. Runs always use Apify residential proxies.

Output

{
"imageUrl": "https://i.ytimg.com/vi/VIDEO_ID/hqdefault.jpg",
"query": "how to change a tire",
"videoId": "VIDEO_ID",
"videoUrl": "https://www.youtube.com/watch?v=VIDEO_ID",
"title": "How to Change a Tire",
"channelName": "Example Channel",
"authorAvatarUrl": "https://yt3.ggpht.com/example=s240-c-k-c0x00ffffff-no-rj",
"durationSeconds": 420,
"language": "en",
"captionKind": "manual",
"transcript": "Full caption text…",
"segments": [
{ "startSec": 1.2, "durationSec": 2.4, "text": "This is the first line." }
],
"failureReason": null,
"scrapedAt": "2026-10-28T16:00:00.000Z"
}
FieldMeaning
imageUrlVideo thumbnail
authorAvatarUrlChannel avatar image. null when the search result has none
querySearch phrase that found the video
videoUrlPublic watch link
captionKindmanual or asr (automatic)
transcriptCaption text
segmentsCaption lines with startSec and durationSec
failureReasonnull on a saved transcript

Tips

  • Use the words you would type into YouTube. A narrower phrase returns a tighter set of videos.
  • Only videos with caption text are saved. A video with no captions is skipped.
  • Pair a scheduled run with a webhook when you want new transcripts in another tool.
  • Residential proxy traffic is part of every run, including small tests.

Image credit

YouTube icon: Wikimedia Commons