YouTube Transcript Scraper: video captions as text avatar

YouTube Transcript Scraper: video captions as text

Pricing

$4.00 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper: video captions as text

YouTube Transcript Scraper: video captions as text

Paste any URL; each row holds channel, language, the full transcript and timestamped segments.

Pricing

$4.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

BEPO Labs

BEPO Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Security

Limited permissions

Share

πŸ“ What is YouTube Transcripts?

Built on the captions YouTube already shows, each transcript arrives with its title, whether it came from a human or the speech recogniser, one combined string and start-plus-duration chunks. Manual tracks win over generated ones, regional codes such as pt-BR match pt, and a closing self-check names anything that failed.

  • AI and LLMs: feed transcripts to summaries, RAG and question answering
  • Research: search what was said in interviews, talks and lectures
  • Content repurposing: turn videos into articles, newsletters and show notes
  • Accessibility and subtitles: reuse timed segments as the basis of subtitle files

YouTube Transcripts: Full text and timed segments of the captions of any YouTube video, ready for summaries, search and LLMs.

✨ Why use this Actor?

  • βœ… Text and timing: one text field for reading plus segments with start and duration for quoting or subtitles
  • βœ… Right captions: manual captions first, automatic as fallback, autoGenerated tells which
  • βœ… Any link shape: watch, youtu.be, shorts and embed URLs or bare 11-character ids, up to 50 per run
  • βœ… Keeps going: retries with backoff; a video without captions gets a clear error row instead of stopping the run
  • βœ… Pay for results: failed videos are not charged

πŸ“¦ What data can you get with YouTube Transcripts?

🎬 Video id and URL🏷️ Title and channel🌍 Caption language
πŸ€– Automatic or manual captionsπŸ“„ Full text⏱️ Timed segments

Private, unavailable or uncaptioned videos return a row with an error field and no text.

πŸš€ How to use YouTube Transcripts

YouTube Transcripts works in a few clicks, no coding needed:

  1. Create a free Apify account (the free plan includes 5 USD of monthly credit).
  2. Open YouTube Transcripts and click Try for free.
  3. Paste the video URLs or ids and choose the caption language (default English).
  4. Click Start and wait for the run to finish (most runs take seconds).
  5. Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

How YouTube Transcripts works

⬇️ Input

Enter the videos; language and retry count have defaults (English, 4).

Videos

Up to 50 per run, as URLs or 11-character ids.

Language

A language code such as en, de or pt. If the video has no track in it, the error row lists the languages that are available.

FieldTypeWhat it doesDefault
Videos (videos)arrayOne to 50 video URLs (watch, youtu.be, shorts, embed) or 11-character video ids.["https://www.youtube.com/watch?v=jNQXAC
Language (language)stringCaption language code such as en or de."en"
Maximum retries (maxRetries)integerRetries per request with exponential backoff.4

YouTube Transcripts input form

Input example

{
"videos": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw"
]
}

⬆️ Output

Every video becomes one row with metadata, the full text and the timed segments.

YouTube Transcripts output table

Output example

One row of the dataset (example shape; the text is the video's own caption):

{
"videoId": "jNQXAC9IVRw",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channel": "jawed",
"language": "en",
"autoGenerated": false,
"text": "All right, so here we are in front of the elephants ...",
"segments": [
{
"start": 1.2,
"duration": 2.16,
"text": "All right, so here we are"
}
]
}

View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.

πŸ’° How much does YouTube Transcripts cost?

YouTube Transcripts is priced per event: 3 USD per 1,000 transcripts (0.003 USD each), with no monthly rental. Videos that fail are not charged.

You getYou pay
100 transcripts0.3 USD
1,000 transcripts3 USD
10,000 transcripts30 USD
100,000 transcripts300 USD

πŸ’‘ Apify's free plan gives you 5 USD of credit every month, enough for about 1,666 transcripts at no cost. Set a spending limit per run and the Actor stops there.

βš–οΈ YouTube Transcripts vs. the alternatives

YouTube TranscriptsCopy from the YouTube pageSubtitle downloaders
Many videos in one runβœ…βŒvaries
Timed segments as JSONβœ…βŒvaries
Export, schedule, API and MCPβœ…βŒvaries
Failed videos freeβœ…n/avaries

πŸ”Œ Integrations, API and MCP

Connect YouTube Transcripts to your AI agent (MCP)

Give Claude, ChatGPT, Cursor or any MCP client direct access to YouTube Transcripts through the Apify MCP server. Add this URL to its settings:

https://mcp.apify.com/?actors=bepolabs/youtube-transcripts

For Claude Desktop, add it under mcpServers in claude_desktop_config.json:

{
"mcpServers": {
"youtube-transcripts": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"bepolabs/youtube-transcripts"
],
"env": {
"APIFY_TOKEN": "<your Apify API token>"
}
}
}
}

Then just ask: "Get the transcripts of these 5 YouTube videos and summarise each in three bullet points."

Run it from your code

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("bepolabs/youtube-transcripts").call(run_input={"videos":["https://www.youtube.com/watch?v=jNQXAC9IVRw"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('bepolabs/youtube-transcripts').call({"videos":["https://www.youtube.com/watch?v=jNQXAC9IVRw"]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

No-code integrations

Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.

❓ FAQ

Which videos work?

Public videos with manual or automatic captions. Uncaptioned ones return an error row.

Can I get another language?

Set language. Only tracks the video already has are returned; the error row lists them.

Do you transcribe audio?

No, this reads the existing captions. For your own recordings use our Audio and Video Transcriber.

The Actor reads the publicly available caption track of videos you name, as a viewer's browser does. Transcripts remain the work of their creators: check the licence and your local law before republishing them.

What if something is missing or does not work?

Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.

πŸ’¬ Your feedback

Tell us what YouTube Transcripts should add on the Issues tab or leave a review; your notes decide what we work on next.

ActorWhat it does
πŸŽ™οΈ Audio and Video TranscriberWhisper transcripts of audio and video files: full text, timed segments, SRT and WebVTT. No API key.
πŸ”€ Image OCRExtract text from images in 29 languages: plain text, clean Markdown and every word with its pixel box and confidence.
πŸ¦‹ Bluesky PostsBluesky posts for any search or handle with text, date, author, likes, reposts, replies, links and hashtags. No login.
🟧 Hacker News SearchHacker News stories, comments, Ask HN, Show HN and jobs for any search, with points, comment count, date and text.
πŸ“„ PDF to Text and MarkdownPDFs to clean text and Markdown, per page, per document or as RAG chunks, with columns in reading order and headers and footers removed.
πŸŽ™οΈ Podcast EpisodesSearch terms, Apple Podcasts ids or RSS feeds to every show and its episodes, with audio links, dates and durations.
πŸ“° RSS Feed ReaderAny RSS, Atom or JSON feed, or just a website URL, to one clean list of articles, with full text on request.
πŸ•°οΈ Wayback Machine ScraperThe archive history of any URL or domain: first and last seen, every capture, and the page text of old versions.