YouTube Transcript API - Videos, Shorts, Channels to Text
Pricing
from $10.00 / 1,000 video transcripts
YouTube Transcript API - Videos, Shorts, Channels to Text
Bulk YouTube transcript API: get transcripts for videos, Shorts, whole channels and playlists. Falls back to speech recognition when a video has no captions. Timed segments, language choice, JSON, CSV or Excel.
Pricing
from $10.00 / 1,000 video transcripts
Rating
0.0
(0)
Developer
Mayowa Ogedengbe
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
4
Monthly active users
7 days ago
Last modified
Categories
Share
YouTube Transcript Scraper
Get a clean transcript from any YouTube video or Short, plus the on-screen text burned into the frames that no caption file carries. Paste YouTube video, Shorts, channel or playlist URLs and get back the spoken words, the words shown on screen, and a hook field for the opening seconds. No login, no cookies, no API key.
The Actor reads the video's own caption when it has one, human or auto-generated, and falls back to on-device speech recognition when it does not, so it returns a transcript for videos that have no captions at all.
Sample output (real run)
| Platform | Video | Length | Source | Words | Hook (first seconds) |
|---|---|---|---|---|---|
| YouTube | 3Blue1Brown: But what is a neural network? | 18:40 | caption | 3,357 | "This is a 3." |
| TikTok | @cnn video 7688426985072119054 | 2:04 | caption | about 230 | "The girls told me he. He went taking a walk around the pond..." |
Each row carries the full text, timed segments (start, end, text), the opening hook, title, author, views, likes and duration. Videos without captions get a transcript from speech recognition, and transcript.source tells you which.
Why this one
| This Actor | Typical transcript Actor | |
|---|---|---|
| Videos with no captions | Transcribed by speech recognition | Empty row or error |
| TikTok and YouTube in one run | Yes | Usually one platform |
| On-screen text (OCR) | Optional | No |
| Channel or playlist URL | Expanded to its videos | Sometimes |
| Price per 1,000 videos | $5, no start fee | Varies |
What it costs: 1,000 transcripts = $5. A 200-video channel = $1.
Pricing
Pay-per-event pricing — you only pay for results you actually receive:
- Video transcript (caption) — charged once per video returned from the platform's own caption track. Cheapest option, and the default (Transcript source → Captions only).
- Speech recognition — charged once per video transcribed by on-device speech-to-text. Used only when you select Captions + speech recognition and the video has no caption. It downloads and processes the audio, so it costs more than a caption.
- On-screen text (OCR) — charged once per video when you turn on Read on-screen text. It downloads the video and runs image recognition, the most expensive option, billed on top of the transcript.
- Actor start — a small per-run start fee.
To keep costs lowest, leave Transcript source on Captions only and turn on speech recognition or OCR only when you need them. Current per-event rates are shown in the Pricing section of this Actor's page.
What this Actor does
- Transcribes any YouTube video or Short from its URL.
- Uses the caption track when present (human or auto), and speech recognition when it is not.
- Reads the on-screen text with OCR, the titles and captions baked into the frames.
- Returns a hook field for the opening seconds.
- Gives timed segments, full text, language, author, views and duration.
- Expands a channel or playlist URL into its recent videos.
- Exports to JSON, CSV, Excel, or straight to the Apify API.
How to get a YouTube transcript
- Paste YouTube video, Shorts, channel or playlist URLs into Video URLs.
- Set Preferred language or clear it to auto-detect.
- Turn on Read on-screen text to also read the words shown in the frames.
- Click Start and export the results.
Where the transcript comes from
Each row records its source in transcript.source: caption for the video's own track, or asr for on-device speech recognition when there is no caption. On-screen text is returned separately, per frame and combined.
How much does it cost?
Pay-per-event pricing, so you pay for the results you receive.
| Event | Price |
|---|---|
| Video transcript | $0.005 |
| On-screen text | $0.04 |
A transcript for 1,000 videos costs about $5. Adding on-screen text costs about $40 more per 1,000. Tier discounts lower both, and the Apify free plan includes credits to test it.
Input example
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],"includeOnScreenText": false}
Related scrapers
- TikTok Transcript Scraper for TikTok videos.
- TikTok & YouTube Transcript Scraper to transcribe both in one run.
Frequently asked questions
Do I need to log in or supply an API key?
No. There is no login, cookie or API key. You only need an Apify account.
What if a video has no captions?
The Actor runs speech recognition on the audio and returns that transcript, marked source: asr.
Can I transcribe a whole channel?
Yes. Paste a channel or playlist URL and it expands into the recent videos, up to your max videos limit.
What formats can I export?
JSON, CSV, Excel, XML and RSS, plus the Apify API and integrations such as Google Sheets, Make and Zapier.
Use it as an API
Run it from your own code and get the results back in one call. Replace YOUR_TOKEN with your Apify API token.
curl -X POST "https://api.apify.com/v2/acts/headply~youtube-transcript-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.youtube.com/watch?v=aircAruvnKk"}], "maxVideos": 100}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run_input = {'startUrls': [{'url': 'https://www.youtube.com/watch?v=aircAruvnKk'}], 'maxVideos': 100}run = client.actor("headply/youtube-transcript-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
It also works from Make, Zapier, n8n, Google Sheets and as a tool for AI agents through the Apify MCP server.
More data tools from the same developer
- Threads Scraper & API: posts, reply trees, profiles and keyword search from Threads
- Yelp Scraper & API: every business in a city with phones, websites and all reviews
- TikTok & YouTube Transcript API: video to text, even without captions
- Google Trends Scraper & API: hundreds of keywords on one scale, daily history
- Airbnb & Vrbo Scraper: listings, calendars, occupancy and revenue
- Jumia Scraper & API: prices and sellers across 8 African countries