YouTube Transcript Scraper (with AI transcription)
Pricing
from $7.00 / 1,000 transcript from captions
YouTube Transcript Scraper (with AI transcription)
Get transcripts of YouTube videos in bulk, including videos with no captions (AI speech-to-text). Returns the spoken language, plain text, and timestamped segments.
Pricing
from $7.00 / 1,000 transcript from captions
Rating
0.0
(0)
Developer
yTranscript API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get transcripts of YouTube videos in bulk, including videos that have no captions. Paste video links or IDs and get back clean text plus timestamped segments in the language actually spoken.
Why this scraper
- Works on videos without captions. When a video has no captions, it's transcribed with AI speech-to-text. Other transcript scrapers return nothing for these videos.
- Correct language. You get the language actually spoken by default, including on YouTube's auto-dubbed videos, which list a dozen or more dubbed caption tracks. Set a language to fetch a specific caption track instead.
- Reliable. Requests go through the yTranscript API, which handles YouTube's bot detection and IP blocking with multiple fallback routes.
- Failed videos cost nothing. Private, removed, or invalid videos come back as clearly labeled error rows, and you're never charged for them.
Input
| Field | Description |
|---|---|
| YouTube videos | Video URLs (watch, youtu.be, shorts, embed, live) or 11-character video IDs. Duplicates are removed automatically. |
| Language (optional) | Caption language code such as en or es. Leave empty to get each video's original language. |
| Include timestamped segments | Adds a segments array with start time, duration, and text. On by default. |
| Max concurrency | How many videos to fetch at once, from 1 to 5. |
Output
One row per video:
{"videoId": "L9R64Q2E2lQ","url": "https://www.youtube.com/watch?v=L9R64Q2E2lQ","status": "success","language": "en","source": "captions","text": "hi there it has been a very very long time since I released the pattern...","characterCount": 86900,"segments": [{ "start": 2.76, "duration": 4.679, "text": "hi there it has been a very very long" }]}
source is captions when the text came from YouTube's captions, or ai-transcription when the video had none and was transcribed with AI.
Failed videos look like this:
{ "videoId": "abc123xyz00", "status": "error", "errorCode": "no_transcript", "error": "No transcript available for this video." }
Error codes: invalid_input, no_transcript (private, removed, age-restricted, or no speech), fetch_failed.
Pricing
You pay per successful transcript:
- Transcript from captions: per result, shown on the Pricing tab
- AI transcription (videos without captions): per result, shown on the Pricing tab
Failed and invalid videos are free. If you set a maximum cost for a run, the scraper stops cleanly when it's reached and doesn't process or charge anything past it.
Use cases
- Feeding video content to ChatGPT, Claude, or your own LLM pipeline
- Research and content analysis across many videos
- Search, subtitles, and accessibility
- Repurposing videos into blog posts, notes, and summaries
Integrations
Export results as JSON, CSV, or Excel, or connect them to Make, Zapier, n8n, Google Sheets, and webhooks through Apify integrations. For direct API access from your own code or from AI tools like Claude and Cursor, see ytranscript.com/developers.