YouTube Transcript Scraper · No API Key · $0.09/1k avatar

YouTube Transcript Scraper · No API Key · $0.09/1k

Pricing

$0.09 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper · No API Key · $0.09/1k

YouTube Transcript Scraper · No API Key · $0.09/1k

Transcripts of YouTube videos from video URLs, channels, playlists or searches: timed segments, plain text, SRT or WebVTT, any caption language. No API key, no login. $0.09 per 1,000 transcripts on every plan, nothing for videos without captions, no start fee.

Pricing

$0.09 / 1,000 transcripts

Rating

0.0

(0)

Developer

Alfalfa

Alfalfa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

YouTube Transcript Scraper: subtitles of any video, channel, playlist or search, no API key

Get the transcript of YouTube videos as data. Paste video URLs, a channel, a playlist or a search query, and get one row per video with its subtitles as timed segments, as plain text, and optionally as a ready-to-save SRT or WebVTT file. Manual captions are preferred, auto-generated captions are the fallback, in the language you choose. No YouTube account, no Data API key, no quota. Export to JSON, CSV or Excel, or call it from Python, JavaScript, n8n, Make, Zapier or an AI agent.

$0.09 per 1,000 transcripts on every plan, nothing for videos without captions, no start fee, platform usage and proxies included. Video details and the SRT/WebVTT files are included in that price.

YouTube transcript as text, timed segments, SRT or WebVTT

One row per video:

FieldExample
id, url, titleiCvmsMzlF7o, https://www.youtube.com/watch?v=iCvmsMzlF7o, How to speak so that people want to listen
channelName, channelId, channelUrlTED, UCAuUUnT6oDeKwE6v1NGQxug, …
durationText, durationSeconds9:59, 599
publishedAt, viewCount, likeCount, category, description, keywordsthe video's own details, for context and filtering
transcriptStatusok; no captions when the video has no subtitles at all; empty transcript; or details could not be loaded, captions could not be loaded, transcript could not be loaded when YouTube refused or did not answer (rerun those videos). Only ok rows are charged
transcriptLanguageen English, or en English (auto-generated)
transcripttimed segments: [{"start": 16.86, "duration": 3.46, "text": "The human voice: It's the instrument we all play."}, …]
transcriptTextthe whole transcript as one text, ready for a summary, a search index or a translation
transcriptSrt or transcriptVttthe same subtitles as a complete SRT or WebVTT file, with Transcript format set to SRT or WebVTT
searchQuery, inputUrlwhere the video came from

Segment times are seconds from the start of the video, so a quote can be linked as youtube.com/watch?v=ID&t=16s.

Transcripts from video URLs, channels, playlists and searches

  • Video URLs: youtube.com/watch?v=…, youtu.be/…, /shorts/…, /live/…. One row each.
  • Channel URLs: youtube.com/@handle, /channel/UC…, /c/name, /user/name. Add /videos, /shorts or /streams to pick the tab, or set Channel content. Newest first as on the channel page, or Popular (most viewed first) or Oldest with Channel video order.
  • Playlist URLs: youtube.com/playlist?list=…. A channel's uploads playlist (UU + channel ID) works too.
  • Search queries: one per line, filtered by upload date (last hour to this year) and ordered by relevance, upload date, views or rating.
  • Search result URLs copied from the browser.

Max videos per source caps each search, channel or playlist. A search page holds about 20 videos; channels and playlists page 30 at a time and can go into the thousands.

What people do with YouTube transcripts

  • Knowledge bases and RAG: the transcripts of a whole channel or a topic search as plain text, one JSON per run, chunked by the timed segments.
  • Summaries and notes: lectures, conference talks, earnings calls, podcasts and interviews turned into text you can summarize, quote and search.
  • Subtitle files: SRT or WebVTT of your own or licensed videos for an editor, a player or a translation workflow.
  • Content repurposing and SEO: blog posts, newsletters and social snippets written from what a video says, with the exact timestamps for quotes.
  • Research and monitoring: everything a channel said about a product, a company or a claim, with dates and view counts next to the text.
  • Language learning and accessibility: captions in the original language or any available track, with the timing kept.

Input examples

A single video with English captions:

{ "startUrls": [{ "url": "https://www.youtube.com/watch?v=iCvmsMzlF7o" }] }

The latest 100 videos of a channel as SRT files:

{ "startUrls": [{ "url": "https://www.youtube.com/@TED/videos" }], "maxVideos": 100, "transcriptFormat": "srt" }

This month's most viewed Python tutorials, Spanish captions where they exist:

{ "searchQueries": ["python tutorial"], "sortBy": "views", "uploadDate": "month", "maxVideos": 50, "transcriptLanguage": "es" }

A playlist, plain text only is fine, so the default format:

{ "startUrls": [{ "url": "https://www.youtube.com/playlist?list=PLWKjhJtqVAbnqBxcdjVGgT3uVR10bzTEB" }], "maxVideos": 500 }

YouTube transcript API: code, n8n, Make, Zapier and AI agents

  • API: POST https://api.apify.com/v2/acts/alfalfa~youtube-transcript-scraper/run-sync-get-dataset-items?token=… with the JSON input above returns the rows directly (runs up to 5 minutes). Longer jobs: start the run, poll, read the dataset. Any Apify client library works.
  • n8n, Make, Zapier: add the Apify node, pick alfalfa/youtube-transcript-scraper, paste the same JSON input and read the run's dataset in the next step. See the Apify integrations docs.
  • AI agents and MCP (Claude, Cursor, VS Code, ChatGPT): connect the Apify MCP server with this Actor as a tool, https://mcp.apify.com/?tools=alfalfa/youtube-transcript-scraper, and the agent can fetch the transcript of any video it is given. See the Apify MCP docs.

Pricing: $0.09 per 1,000 transcripts

EventPrice
Transcript$0.09 per 1,000 videos with a transcript, the same on every plan
Video without captionsfree: the row is saved with transcriptStatus = no captions
Start fee, platform usage, proxiesnone, included

Examples: 1,000 videos that all have captions cost $0.09; a channel of 300 videos where 280 have captions costs $0.025; one video costs $0.00009. The transcript row carries the video's title, channel, length, views and description at no extra charge.

Final Actor event price. The per-transcript price includes the Actor's platform usage and proxy costs; there is no start fee or per-run minimum. Apify's own plan or storage charges, if any, are separate. A run's Maximum total charge is honoured: the Actor stops before the budget, so the bill never exceeds it.

Need likes, comments, subscriber counts or channel records next to the videos? The YouTube Scraper by the same author does all of that, with transcripts as an option.

Limits and honesty

  • Transcripts exist only where the uploader or YouTube's automatic captioning provided them. Videos without any caption track are saved with transcriptStatus = no captions and are not charged. Live streams have no transcript while live.
  • Auto-generated captions are YouTube's own: no punctuation, occasional misheard words, overlapping timing. In the SRT and WebVTT files each cue ends where the next one starts.
  • Public videos only. Private, deleted and members-only videos are reported as unavailable and not charged. Age-restricted videos (ageRestricted: true) have no readable transcript without a login.
  • Transcript language: manual captions in the requested language, then auto-generated ones in it, then a manual track in any language, then the first track available. transcriptLanguage records what was used. Translated caption tracks are not requested.
  • Search returns what YouTube's search shows a visitor in the US with English settings: about 20 videos per page and rarely more than 500-600 results per query. Split by upload date for more.
  • A 20-hour video produces a transcript of about 1 MB. Rows that do not fit the dataset limit keep the segments and the text and drop the SRT or WebVTT copy; the log says so.

YouTube Transcript Scraper FAQ

Do I need a YouTube API key? No. The Data API does not serve captions of other people's videos anyway; this Actor reads the public captions the way a visitor without an account sees them, and has no quota.

Which languages are supported? Every language YouTube offers for the video. Set Transcript language to a code such as en, de, es, fr, pt, ja; the fallback order is described above.

Can I download the transcript as an SRT or VTT file? Set Transcript format to SRT or WebVTT. Each row then carries the complete subtitle file in transcriptSrt or transcriptVtt; save the field as <video id>.srt or .vtt and it opens in VLC, YouTube Studio, Premiere or any player.

How do I get only the text? transcriptText is the whole transcript as one string. In a CSV export it is one cell per video.

Does it work for Shorts and live streams? Shorts yes, when they have captions. Finished live streams yes, once YouTube has processed the captions. Streams that are live right now have none.

How fast is it? Three requests per video; about 100 transcripts a minute per run at the default concurrency. Long videos take a little longer because the transcript itself is bigger.

What does a video without captions cost? Nothing. Only rows with a transcript are charged, so a channel where half the videos lack captions costs half.

Is this legal? The Actor reads public pages the way a visitor without an account does and stores nothing but the results in your dataset. Respect YouTube's terms and the copyright of the videos when you reuse the text.

This is an unofficial tool and is not affiliated with, endorsed by or connected to YouTube or Google.

Examples you can run in one click

Each example opens with its input already filled in and a sample of the results, so you can change any field and run it right away.

Need something the examples do not cover? Every field is on the Input tab, and any example input works unchanged in an API call or an n8n, Make or Zapier workflow.

Was this useful?

If this Actor saved you time, a short review on its Store page helps others find it and tells me what to improve next. Missing a field or stuck on an input? Open an Issue on the Actor page; issues are answered within a day.

ActorWhat it doesPrice
YouTube Scrapervideos of a search, channel or playlist with views, likes, dates, tags, comments, channel records and optional transcripts$0.50 per 1,000 rows
Google Maps Scraperplaces from any search and location with address, phone, website, rating and hours, plus reviews and website emails$0.07 per 1,000 places
Amazon Product Scraperproducts from searches, Best Sellers lists and ASINs in 22 Amazon stores with price, rating, BSR and details$0.28 per 1,000 products
LinkedIn Jobs Scraperpublic LinkedIn job postings by keyword, location, date, company or URL, with full description, salary, applicants, seniority and poster$0.30 per 1,000 jobs
Facebook Posts Scraperposts of any public page or profile with reactions, comment counts, media, optional video transcripts$2 per 1,000 posts
Facebook Ads Library Scraperads from the Meta Ad Library by keyword, advertiser page or URL, with creatives, dates, platforms and EU reach$0.45 per 1,000 ads
Facebook Comments Scrapercomments and replies of any public post$0.30 per 1,000 comments