YouTube Shorts Transcript Scraper
Pricing
from $2.80 / 1,000 shorts
YouTube Shorts Transcript Scraper
[$4/1K Shorts] Transcript of any YouTube Short: clean text, timestamps, spoken language, 3-second hook, plus title, channel, views, likes and date. Links or whole channels. Shorts without captions are free. No login.
Pricing
from $2.80 / 1,000 shorts
Rating
0.0
(0)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
YouTube Shorts Transcript Scraper turns public YouTube Shorts into text: the full transcript, timestamped caption lines, the language actually spoken and the hook (the words said in the first three seconds) — plus each Short's title, channel, views, likes, comments and publish date. Paste Shorts links or a channel and get one clean row per Short, ready for a spreadsheet, a content calendar or an LLM.

This is the YouTube Shorts edition of YouTube Shorts, TikTok & Reels Transcript Scraper, which also handles TikTok and Instagram Reels in the same run.
Tested head-to-head — 16 October 2026
Same job for every Actor that takes a list: the 10 newest MrBeast Shorts by link (one of them in Russian, one that YouTube rarely serves captions for). Six popular transcript Actors compared.
| This Actor | Other popular transcript Actors | |
|---|---|---|
| Shorts transcribed | 10 of 10 | 7–9 of 10 (two more take only one link per run) |
| Russian Short | Russian text, as spoken | missing in 2 of 4 |
| Title, channel, views, likes, comments, date in the row | all, included in the price | none in 2 of 6, partial in 3 |
Clean text (no ' / >> codes) | yes | raw HTML codes in 2 of 6 |
| Hook (first 3 seconds) column | yes | none of 6 |
| Date filter for channels | yes | 2 of 6 |
What is YouTube Shorts Transcript Scraper?
A YouTube Shorts transcript tool that reads the caption track YouTube already publishes for a Short — the creator's own subtitles when they exist, otherwise YouTube's automatic captions in the language the Short is spoken in (never a machine translation unless you ask for one). Nothing is downloaded and no speech recognition is run, so a Short comes back in seconds and you pay one flat price per Short.
- 🔗 Shorts links —
youtube.com/shorts/...,youtube.com/watch?v=...oryoutu.be/... - 📺 Whole channels — give
youtube.com/@channel,@channelor just the name and it takes the newest Shorts from the Shorts tab, optionally only those after a date - 📊 Short's numbers — title, channel, subscribers, views, likes, comments, publish date, thumbnail
- 🚀 Viral finder — flags Shorts that got 3× the channel's usual views (free)
- ⏱️ Timestamps — every caption line with start and end time in seconds
- 🪝 Hook — the words spoken in the first three seconds, in their own column
- 🗣️ Language — the language actually spoken (Russian Shorts come back in Russian)
- 🆓 Free failures — a Short whose captions could not be read returns a free error row
- 🔓 No login, no cookies, no API key
What data does it return?
| Field | What it is |
|---|---|
url, videoId | The Short and its YouTube id |
title, caption | Title and description of the Short |
author, authorHandle, channelId, channelUrl, channelSubscribers | The channel |
views, likes, comments, postedAt | The Short's numbers and publish time (UTC) |
durationSeconds | Length of the Short |
language | Language code of the speech (en, es, ru …) |
captionsType | manual (creator's subtitles), auto (YouTube's automatic captions) or auto-translated |
transcriptText | The whole transcript as one clean text |
transcript | Caption lines with start, end (seconds) and text; lines do not overlap |
firstThreeSecondsSpeech | The words said before the 3-second mark — the hook |
thumbnailUrl | Thumbnail image |
isOutlier, vsAuthorMedian | With "Find viral videos": how this Short did against the channel's usual |
scrapedAt | When the row was made (UTC) |
How much does it cost to get YouTube Shorts transcripts?
Pay per result, no monthly fee, no fee per run:
| Event | Price (free plan) |
|---|---|
| Short transcribed (one row) | $0.004 — $4 per 1,000 Shorts |
Higher Apify plans pay less per Short (down to $0.0028). Title, channel, views, likes, comments and date are included in that price. Error rows — a Short without a readable caption track, a broken link, a video above your duration limit — are free. YouTube Shorts never use the per-audio event of the pricing table: it applies only to TikTok and Reels links that have no captions of their own and go through speech recognition, and only when you send them.
How to get the transcript of a YouTube Short
- Click Try for free and open the Input tab.
- Paste one or more Shorts links into YouTube Shorts URLs, or a channel into YouTube channels.
- Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.
⬇️ Input

{"videoUrls": ["https://www.youtube.com/shorts/Df5Y-2ndQyU"],"profiles": ["https://www.youtube.com/@MrBeast"],"resultsLimitPerProfile": 10,"onlyPostsNewerThan": "2026-10-01","compareWithAuthor": true,"maximumVideoDurationSeconds": 180,"language": "auto","includeTranscriptSegments": true}
- YouTube Shorts URLs — any public Short. Regular video links work too.
- YouTube channels and Shorts per channel — the newest Shorts from each channel.
- Only Shorts newer than — for channels: stop at the first Short published before this date.
- Find viral videos — compares each Short's views with the channel's median in this run.
- Spoken language — leave on Auto to get the language actually spoken; pick one to get that track
first (for a language the Short is not spoken in, YouTube's translation is requested and marked
auto-translated; when YouTube refuses it, the spoken language comes back instead). - Maximum video duration — longer videos are skipped with a free error row before anything is fetched.
- Include timestamped segments — turn off for a flatter table with just the text.
⬆️ Output
One row per Short (real row from a test run on 16 October 2026, transcript and lines shortened):
{"type": "reel","url": "https://www.youtube.com/shorts/Df5Y-2ndQyU","platform": "youtube","videoId": "Df5Y-2ndQyU","title": "Read My Book, You Could Win $1,000,000","author": "MrBeast","authorHandle": "@MrBeast","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","channelSubscribers": 521000000,"views": 28793558,"likes": 732446,"comments": 23000,"postedAt": "2026-07-17T16:00:06Z","durationSeconds": 32,"language": "en","captionsType": "auto","transcriptSource": "platform-captions","transcriptText": "You can win $1,000,000 and all you have to do to enter is buy our brand new book that drops September [music] 1st. Growing up, I thought reading was boring, so I partnered with James Patterson here. …","firstThreeSecondsSpeech": "You can win $1,000,000 and all you have to do to enter is buy","transcript": [{ "start": 0, "end": 2.2, "text": "You can win $1,000,000 and all you have" },{ "start": 2.2, "end": 3.72, "text": "to do to enter is buy our brand new book" },{ "start": 3.72, "end": 5.12, "text": "that drops September [music] 1st." }],"thumbnailUrl": "https://i.ytimg.com/vi/Df5Y-2ndQyU/hqdefault.jpg","scrapedAt": "2026-10-16T02:27:16Z"}
Caption lines keep markers such as [music] and YouTube's >> speaker-change sign. Need the text
written on screen as well (caption cards, title cards)? That is a feature of
YouTube Shorts, TikTok & Reels Transcript Scraper.
Error rows
A Short that could not be read returns its own row and is not billed:
{"type": "error","url": "https://www.youtube.com/shorts/…","platform": "youtube","videoId": "…","title": "…","errorCode": "no_captions","errorMessage": "YouTube returned no caption track for this video in 8 tries. Usually the Short has none (music, no speech); sometimes YouTube withholds an existing track from automated requests, and running the link again later succeeds. Nothing was charged for this URL."}
Other reasons: youtube_refused (YouTube blocked every try — run again), not_found (removed,
private or mistyped link), too_long (above your duration limit). Error rows come after the data
rows, and the run's status line counts them by reason.
Use cases
- Content research — read what top channels say in their Shorts without watching them one by one.
- Hook library — collect the first-three-second lines of a niche's Shorts and see which openings repeat.
- Repurposing — turn your own Shorts into captions, blog drafts, threads or newsletter snippets.
- LLM and RAG input — clean text with timestamps, one row per Short, no transformation needed.
Integrations
Run it from the Apify API or the Python and JavaScript clients, call it from AI agents through the Apify MCP server, or connect it to Make, Zapier, n8n, Google Sheets and webhooks.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("lergassy/youtube-shorts-transcript-scraper").call(run_input={"videoUrls": ["https://www.youtube.com/shorts/Df5Y-2ndQyU"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("title"), "|", item.get("firstThreeSecondsSpeech"), "|", item.get("transcriptText"))
❓ FAQ
Does it transcribe the audio of the Short?
No. It reads the caption track YouTube publishes for the Short — the creator's subtitles or YouTube's automatic captions. That is why it is fast and cheap. A Short with no caption track at all comes back as a free error row.
Why did some Shorts come back as error rows?
Usually the Short has no captions at all (music, no speech). Each Short is tried up to eight times from different residential addresses, because YouTube sometimes withholds captions or blocks automated traffic; what is still missing after that comes back as a free error row with the reason.
How much does it cost to get 1,000 Shorts transcripts?
$4 on the free plan, down to $2.80 on paid Apify plans — with title, channel, views, likes, comments and date included. Error rows are free.
Which languages are supported?
Any language YouTube provides captions in. With Auto you get the creator's subtitles when they exist,
otherwise YouTube's automatic captions in the language the Short is spoken in. Pick a language to ask
for that track first; if the Short is not spoken in it, YouTube's machine translation is requested and
marked captionsType: "auto-translated". YouTube often refuses translations to automated traffic; then
you get the language actually spoken, the language column says which, and the status line counts them.
Can I get the newest Shorts of a channel?
Yes. Put the channel link (https://www.youtube.com/@MrBeast), the handle (@MrBeast) or just the name (MrBeast) in YouTube channels and set Shorts per channel (up to 200).
Does it also work for TikTok and Instagram Reels?
Links from those platforms are accepted too, but for mixed lists the YouTube Shorts, TikTok & Reels Transcript Scraper is the main Actor and is documented for all three platforms.
Is it legal to scrape YouTube Shorts transcripts?
It reads only public videos that anyone can open without logging in and collects no personal data beyond what the video page shows. Laws differ by country and use case; check with a lawyer before building a commercial product on scraped data.
Your feedback
Found a Short it handles badly? Open an issue on the Issues tab with the link — every issue gets a reply.