YouTube Transcript Scraper (with AI transcription) avatar

YouTube Transcript Scraper (with AI transcription)

Pricing

from $7.00 / 1,000 transcript from captions

Go to Apify Store
YouTube Transcript Scraper (with AI transcription)

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

yTranscript API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FieldDescription
YouTube videosVideo 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 segmentsAdds a segments array with start time, duration, and text. On by default.
Max concurrencyHow 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.