YouTube Transcript Scraper: Bulk Videos, Shorts & Timestamps
Pricing
from $3.00 / 1,000 transcripts
YouTube Transcript Scraper: Bulk Videos, Shorts & Timestamps
YouTube transcripts as clean text: paste video URLs or IDs, up to 1,000 per run. Videos, Shorts and live replays, any caption language, optional timestamps. No API key, no browser. Pay only for delivered transcripts: $0.003 each. Built for AI agents (MCP), RAG and n8n.
Pricing
from $3.00 / 1,000 transcripts
Rating
0.0
(0)
Developer
HirePulse
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Paste YouTube links, get transcripts. Clean plain text for every video, with title, channel, length and caption language. Up to 1,000 videos per run, in any language YouTube has captions for, with optional timestamps.
No API key, no YouTube account, no browser. A typical video takes one to three seconds.
What you can ask it
- "Get the transcript of this video and summarize it."
- "Transcribe these 200 lecture videos so I can search them."
- "Give me the Spanish captions of this video, with timestamps."
- "Which of these videos mention 'pricing'? Pull their transcripts."
What it is good for
- AI agents and RAG: feed video content to an LLM as text.
- Research and content teams: summarize, quote and repurpose videos.
- SEO and marketing: analyze what competitors say in their videos.
- Accessibility and archiving: keep searchable text of video libraries.
Input
Only videos is required.
| Field | Type | Default | Description |
|---|---|---|---|
videos | array of strings | required | Video URLs or 11-character IDs. Regular links, youtu.be, Shorts, embeds and live links all work. Up to 1,000 per run. |
language | string | video's main captions | Two-letter code such as en, es, de. Used when the video has captions in that language. |
include_timestamps | boolean | false | Add a segments array with start time, duration and text of every caption line. |
{"videos": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://youtu.be/jNQXAC9IVRw"],"language": "en"}
Output
One record per video:
{"video_id": "jNQXAC9IVRw","url": "https://www.youtube.com/watch?v=jNQXAC9IVRw","status": "ok","title": "Me at the zoo","channel": "jawed","duration_seconds": 19,"language": "en","is_auto_generated": false,"transcript": "All right, so here we are in front of the elephants ...","word_count": 39,"note": null}
With include_timestamps, every record also has:
"segments": [{ "start": 1.2, "duration": 2.16, "text": "All right, so here we are in front of the elephants" }]
status | Meaning | Charged |
|---|---|---|
ok | Transcript delivered. | Yes |
no_captions | The video has no captions at all. | No |
unavailable | Private, removed, age-restricted or region-locked. note says why. | No |
failed | Could not be fetched after three attempts. Try again. | No |
invalid_input | Not a YouTube video URL or ID. | No |
A small run summary is saved to the key-value store under OUTPUT.
Live streams and replays
- Replays of finished live streams work like any other video. In a test on 14 October 2026, all 6 recent NASA stream replays returned full transcripts (up to 18,000 words for a 2.3-hour broadcast).
- A stream that is live right now usually has no captions yet. It returns
no_captionswith anotethat says it is live, so run it again after the stream ends. - A scheduled stream that has not started returns
unavailable, and thenotesays when it begins. - Neither of these is charged.
Reliability
In a test of 300 different videos, every video got a definite answer: 280 transcripts and 20 no_captions, with no failed lookups. Each video gets up to three attempts on fresh connections before it is marked failed, and a failed video is never charged.
Pricing
Pay per event. Platform usage and proxies are included.
| Event | Price | When |
|---|---|---|
transcript | $0.003 | Each delivered transcript (status: "ok"). |
apify-actor-start | $0.00005 | Once per run. |
1,000 transcripts cost $3. Videos without captions, unavailable videos and failures are not charged. Set a maximum cost per run and the Actor processes only as many videos as that limit can pay for.
Free Apify plan
On the free plan the first 3 videos of each run are processed, so you can try the Actor. Use a paid Apify plan to process full lists.
Use from AI agents (MCP)
Connect the Apify MCP server with this Actor enabled:
https://mcp.apify.com?tools=hirepulse/youtube-transcript-scraper
Tips for agents:
- Pass one or many videos in a single call; a batch is faster than one call per video.
- Leave
include_timestampsoff unless the user needs time codes: transcripts of long videos are large. - Check
statuson every record before usingtranscript.
Limitations
- Transcripts come from YouTube's captions. A video without captions returns
no_captions; this Actor does not run speech recognition. - Auto-generated captions carry YouTube's recognition errors and usually have no punctuation.
is_auto_generatedtells you which kind you got. - Captions are returned in their original language; there is no translation.
- Age-restricted, private and members-only videos are not accessible.
- YouTube changes its systems from time to time. If a video returns
failed, running it again usually works.
More tools from HirePulse
- ATS Job Scraper: every open job from a company's own careers page (Greenhouse, Lever, Ashby, Workable and more), with full descriptions and change tracking.
- Google Jobs Scraper: job listings from Google Jobs for any role and city, with salaries and apply links, from $1 per 1,000 jobs.
- Keyword Search Volume: monthly Google search volume, CPC, difficulty and keyword ideas for 94 countries.
- Domain SEO Overview: estimated organic traffic, ranking keywords and competitors of any website.