YouTube Shorts Transcript Scraper avatar

YouTube Shorts Transcript Scraper

Pricing

from $2.80 / 1,000 shorts

Go to Apify Store
YouTube Shorts Transcript Scraper

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

Matvey

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

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.

YouTube Shorts Transcript Scraper output: YouTube Shorts with title, channel, views, likes, publish date, language and the first three seconds of speech

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 ActorOther popular transcript Actors
Shorts transcribed10 of 107–9 of 10 (two more take only one link per run)
Russian ShortRussian text, as spokenmissing in 2 of 4
Title, channel, views, likes, comments, date in the rowall, included in the pricenone in 2 of 6, partial in 3
Clean text (no ' / >> codes)yesraw HTML codes in 2 of 6
Hook (first 3 seconds) columnyesnone of 6
Date filter for channelsyes2 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=... or youtu.be/...
  • 📺 Whole channels — give youtube.com/@channel, @channel or 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?

FieldWhat it is
url, videoIdThe Short and its YouTube id
title, captionTitle and description of the Short
author, authorHandle, channelId, channelUrl, channelSubscribersThe channel
views, likes, comments, postedAtThe Short's numbers and publish time (UTC)
durationSecondsLength of the Short
languageLanguage code of the speech (en, es, ru …)
captionsTypemanual (creator's subtitles), auto (YouTube's automatic captions) or auto-translated
transcriptTextThe whole transcript as one clean text
transcriptCaption lines with start, end (seconds) and text; lines do not overlap
firstThreeSecondsSpeechThe words said before the 3-second mark — the hook
thumbnailUrlThumbnail image
isOutlier, vsAuthorMedianWith "Find viral videos": how this Short did against the channel's usual
scrapedAtWhen 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:

EventPrice (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

  1. Click Try for free and open the Input tab.
  2. Paste one or more Shorts links into YouTube Shorts URLs, or a channel into YouTube channels.
  3. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

⬇️ Input

YouTube Shorts Transcript Scraper input form: YouTube Shorts URLs, YouTube channels, Shorts per channel and spoken language

{
"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 ApifyClient
client = 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.

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.