YouTube Transcript
Pricing
from $0.39 / transcript
YouTube Transcript
YouTube Transcript provides structured text from one public YouTube video for indexing, chapter research, summarization, and automation. Output includes detected language, ordered timestamped segments, video metadata, and optional translation into 133 languages. Transcripts start at $0.3483.
Pricing
from $0.39 / transcript
Rating
4.7
(4)
Developer
AgentX
Maintained by CommunityActor stats
7
Bookmarked
435
Total users
45
Monthly active users
5 days ago
Last modified
Categories
Share
YouTube Transcript - Timestamped YouTube Speech-to-Text API
YouTube Transcript converts one public YouTube video into detected-language text, ordered timestamped segments, source metadata, and an optional translated transcript. It processes audible speech from the media; it does not promise to return YouTube caption tracks or existing subtitle files.
- Submit one public YouTube watch URL per run; channels, searches, and playlist jobs are deliberately excluded.
- Extractor-based platform confirmation happens before the formal media download, including when a short or redirected URL is used.
- A successful job publishes one 22-field record joining video context with detected-language text and ordered segments.
- Media over 60 minutes follows the runtime's sequential 15-minute audio-block path with 15-second boundary context to limit peak memory.
Run YouTube Transcript · Open the API page
Begin with an ordinary public video whose speech you can verify. Inspect names, timestamps, and nullable source fields before scaling to lengthy lectures or automated translation.
Why Choose This API
A narrow contract for one known YouTube video
This Actor fits a workflow that already has a specific YouTube video and needs searchable speech rather than a caption file. Its two controls are the source URL and, when needed, one target language. Redirects and shortened links are resolved first; the detected extractor must still identify YouTube.
The result combines source context and spoken content in one record:
| Capability | What is returned |
|---|---|
| Generated speech layer | Detected language, joined text, and start / end / text intervals |
| YouTube identity | Video title, description, channel information, duration, publish time, thumbnail, categories, and tags when available |
| Public counters | Views, likes, dislikes, shares, and comments only when returned by the current extractor |
| Second-language view | Complete translated text aligned to the source segment ranges |
It does not enumerate a channel, expand a playlist, capture a livestream, export YouTube captions, label speakers, summarize a talk, or return a downloadable video. Missing YouTube metadata keeps the schema's documented null, zero, or empty representation.
Speech recognition runs against the media audio. Channel names, uncommon terminology, heavy accents, crosstalk, music, and compression artifacts can all change the result. Compare consequential quotations with the player before publishing them.
Quick Start Guide
Run in Apify Console
- Open YouTube Transcript on Apify.
- Paste the complete address of one public video into Video URL.
- Keep Translate empty for source speech, or select exactly one destination language.
- Start the Actor and review its single default-Dataset item when the run reaches a terminal success state.
The current input schema pre-fills this public example:
{"video_url": "https://www.youtube.com/watch?v=4rzeW4dbvlQ","translate": "spanish"}
The API and output illustrations reuse that address for consistency. It is not a permanence guarantee: an owner or YouTube may remove, restrict, age-gate, privatize, or replace availability at any time. If it stops playing publicly, choose another video with audible dialogue.
What success means
Useful success requires more than resolving a title. The run must obtain playable media with audio, detect at least one speech segment, and publish the normalized Dataset object. A metadata-only response is not a transcript result.
Input Parameters
Input configuration
| Input | Type | Required | Description |
|---|---|---|---|
video_url | string | Yes | One public YouTube video URL to download and transcribe. |
translate | string | No | One target language from the schema's 133 selectable values. Leave empty to skip translation. |
The downloader has playlist expansion disabled and accepts one item. Channel homes, handles, search result pages, playlist-only addresses, private sources, uploaded files, cookie input, credentials, and URL arrays are outside this single-platform Actor.
Watch, shortened, or Shorts-style links can only proceed when resolution yields supported YouTube media. Correct-looking syntax can still fail because of regional policy, login or age gates, deletion, a platform response change, or a missing audio stream.
Translation begins after the original segment list exists. Up to eight segment tasks may run concurrently, but the final list preserves source order. If even one segment exhausts its attempts, no translation object is attached and no translation event is billed; source text is never substituted as a fake translation.
Output Data Schema
One 22-field Dataset item
The default Dataset receives one item after transcription. Its 22 keys are grouped below:
| Group | Fields | Notes |
|---|---|---|
| Processing | processor, processed_at | Actor URL and processing timestamp |
| Identity | platform, title, description, thumbnail, published_at | Source-provided video identity |
| Author | author, author_id, author_url | Channel or uploader context when available |
| Media | duration, audio_title, audio_artist | Source-reported values; duration can be 0 when metadata is absent |
| Engagement | view_count, like_count, shares_count, dislike_count, comment_count | Nullable source metrics |
| Labels | categories, tags | Source classifications when exposed |
| Speech | transcript, translation | Timestamped source transcript and optional translated version |
Abbreviated schema-aligned output for the same example scenario:
{"processor": "https://apify.com/agentx/youtube-transcript?fpr=aiagentapi","processed_at": "2026-07-21T13:30:00+00:00","platform": "Youtube","title": "Generations of farming | with ChatGPT | Super Bowl 2026","author": "OpenAI","author_id": "OpenAI","author_url": "https://www.youtube.com/@OpenAI","duration": 157,"view_count": 83803,"like_count": 1930,"categories": ["Science & Technology"],"tags": [],"transcript": {"language": "English","text": "This book goes all the way back to 1971, and it has every crop he has ever planted in it.","segments": [{"start": "00:00:00.090","end": "00:00:08.929","text": "This book goes all the way back to 1971, and it has every crop he has ever planted in it."}]},"translation": {"language": "Spanish","text": "Este libro se remonta a 1971 y contiene todos los cultivos que ha plantado.","segments": [{"start": "00:00:00.090","end": "00:00:08.929","text": "Este libro se remonta a 1971 y contiene todos los cultivos que ha plantado."}]}}
Example counters and text are illustrative snapshots. The actual response reflects the current source and generated speech. No source media, native caption track, SRT/VTT asset, speaker label, word-level alignment, confidence score, summary, or legal determination is added.
Integration Examples
REST API
The synchronous endpoint returns Dataset items directly:
curl -L "https://api.apify.com/v2/actors/agentx~youtube-transcript/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"video_url": "https://www.youtube.com/watch?v=4rzeW4dbvlQ","translate": "spanish"}'
For long videos or workflows that must not hold one HTTP connection open, start an asynchronous run and retrieve its Dataset afterward. Apify documents that synchronous Dataset responses can time out after 300 seconds while the Actor run continues.
Python client
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("agentx/youtube-transcript").call(run_input={"video_url": "https://www.youtube.com/watch?v=4rzeW4dbvlQ","translate": "spanish",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["transcript"]["text"])
MCP for AI clients
Configure the Apify MCP server with the Actor-scoped tool URL:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=agentx/youtube-transcript","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Call agentx/youtube-transcript with the same input fields. See the Apify MCP documentation and the generated Actor API page.
Pricing & Cost Calculator
YouTube Transcript uses pay-per-event pricing. For this build, local metadata is authoritative; a published Store page can remain on an earlier deployment until release completes.
| Event | Current price |
|---|---|
| Actor start | $0.001 per charged start event; the 8192 MB run configuration charges eight start events |
| Actor usage | $0.00001 per usage unit; total depends on runtime resources |
| Transcript - Free | $0.38700 |
| Transcript - Bronze | $0.37410 |
| Transcript - Silver | $0.36120 |
| Transcript - Gold, Platinum, Diamond | $0.34830 |
| Translation - Free | $0.15 |
| Translation - Bronze | $0.145 |
| Translation - Silver | $0.14 |
| Translation - Gold, Platinum, Diamond | $0.135 |
A Free-tier run with one transcript, no translation, and the fixed 8192 MB configuration starts at $0.387 + (8 × $0.001) = $0.395, plus usage events. With translation, the fixed subtotal is $0.387 + $0.15 + $0.008 = $0.545. Failed work can still consume start and runtime usage events.
Check the live pricing page before scheduling a large workload. Estimate with representative media because speech density, duration, network behavior, and translation length affect runtime.
Use Cases & Applications
Search and retrieval over one video
Index transcript.text for whole-video retrieval, or treat each timestamped segment as a smaller search unit. A client can show the matched sentence with its approximate player interval. Embeddings, ranking, and question answering remain downstream work.
Editorial and research review
Researchers and editorial teams can keep spoken claims beside the video title, channel, publication time, and available counters. Because both source metadata and ASR can be incomplete, preserve the URL and verify high-impact wording against the video.
Accessibility drafts and content repurposing
Segments can seed show notes, caption editing, summaries, articles, or short excerpts. They are draft time ranges, not a certified accessibility file. Human review is appropriate before public reuse.
Multilingual review
Select one target for a localized review copy that follows the original segment windows. Multiple target languages require separate runs and separate successful translation events.
Automation boundaries
Discovery and transcription are separate concerns: first obtain candidate video URLs from an authorized channel/search workflow, then submit only selected items one at a time. Technical success does not grant republication rights.
FAQ
Does the Actor use YouTube's native captions?
No. The implemented path prepares media audio and generates new speech-recognition output; it does not promise an export of YouTube's caption track.
Can it process YouTube Shorts?
A Short can proceed when URL resolution exposes public media with audio and identifies YouTube. Private, removed, restricted, login-gated, or live items are not guaranteed.
Can it process an entire channel or playlist?
No. Playlist expansion is disabled and the schema has no channel or URL-list field. Discover first, then submit individual videos in separate runs.
What happens if the video has no speech?
No transcript item is published when the media has no audio or yields no detectable speech. Silence, music-only content, or speech masked by noise can trigger that outcome.
Why are some metadata fields null?
The current extraction response omitted them. Nullable schema fields prevent the Actor from inventing counters, dates, audio credits, or channel details.
Are timestamps word-accurate?
No. HH:MM:SS.mmm marks segment boundaries suitable for navigation and coarse alignment, not verified word-level timing.
How are long videos handled?
The runtime uses 8192 MB and 2 CPUs. At more than 3600 seconds, it extracts sequential 900-second core blocks with 15 seconds of context on each side, keeps the model loaded once, and merges owned time ranges. Duration and speech density still increase wall time and CU, so long jobs belong in asynchronous workflows.
Is translation always charged when requested?
No. Translation is charged only when the complete translated structure is produced. If any segment ultimately fails, the output keeps translation empty and the translation event is not charged.
SEO Keywords & Search Terms
Search phrases such as YouTube video to text, timestamped YouTube speech, transcribe a YouTube URL, and YouTube transcript for RAG all point to the same contract here: one playable public video becomes one structured speech record.
It should not be discovered as a caption downloader, channel scraper, batch transcript API, audio downloader, summarizer, or guaranteed-verbatim service. Those tasks need different inputs and outputs.
Automation should address agentx/youtube-transcript. Human buyers should compare the current Input, Output, Pricing, Reviews, and Issues tabs after the build is published, since online Store state can lag this repository.
Trust & Certifications
Trust comes from bounded claims: the local schemas define two inputs and 22 output fields, the code exposes the YouTube platform gate, translation completeness rule, and long-media path, and missing values stay explicit. This documentation does not convert a volatile public example into an uptime promise.
No current rating, user count, or bookmark total is copied from the online Store because those values belong to a deployed snapshot and change independently of local files. Verify them on Apify after publication if they matter to a buying decision.
No independent ASR accuracy certificate, SLA, legal-transcript status, privacy certification, or guaranteed source availability is claimed. Apify hosts execution and storage; YouTube controls media access, and generated speech still requires review.
Legal & Compliance
Process only content you are authorized to use. Public playback does not remove copyright, privacy, contractual, publicity, or data-protection duties. YouTube's Terms of Service restrict downloading or automated access except where YouTube permits it, prior written permission exists, or applicable law allows it. Confirm that your specific workflow fits an allowed basis before running this Actor.
The Actor returns source metadata and generated speech text. It does not grant a license to the video, verify ownership, determine fair use, provide legal advice, or certify the accuracy of quotations. Avoid submitting private credentials or confidential URLs because they are not part of the supported input contract.
If a source owner deletes or restricts a video, future runs can fail even when an older run succeeded. Retain the source URL and processing time when provenance matters.
Related Tools
Related AgentX Actors
- TikTok Transcript handles one public TikTok video.
- Video Transcript accepts uploads and public URLs across many supported platforms.
Enrich with broader discovery
- All Video Scraper provides broader video metadata and media workflows.
- All Jobs Scraper supplies cross-platform job data for content or labor-market research.
- All Shopping Scraper supplies cross-market product data for commerce research.
Choose a discovery Actor when you do not yet have a specific video URL. Keep transcription runs one video at a time.
Support & Community
When reporting a problem, include the public video URL, run ID, expected result, observed error, and whether translation was enabled. Do not post private tokens or credentials.
The local schemas, implemented behavior, pricing metadata, and cited official terms were reviewed on July 21, 2026. The example's availability and all online Store statistics remain volatile.