V2 הוא מודל התמלולים המיועל, שבו התמלולים שייכים למשתמש. הוא מתעדף שליפות מהירות מהמטמון, תגובות עקביות ובלי תרגומים מפתיעים, אלא אם ביקשתם שפה.
https://www.youtubetranscript.dev/api/v2/transcribehttps://www.youtubetranscript.dev/api/v2/batchhttps://www.youtubetranscript.dev/api/v2/jobs/{job_id}https://www.youtubetranscript.dev/api/v2/batch/{batch_id}https://www.youtubetranscript.dev/api/v2/channels/resolvehttps://www.youtubetranscript.dev/api/v2/channels/{channel_id}https://www.youtubetranscript.dev/api/v2/channels/historyהורידו את קובץ ה־YAML כדי לייבא אותו ל־Postman או ל־Insomnia, לייצר לקוחות, או להדביק אותו ב־ChatGPT / Claude.
הדרך המהירה ביותר לסרטון אחד בכל פעם. תמלולים מבוססי כתוביות חוזרים תוך שניות ספורות. ASR רץ באופן אסינכרוני, ואת התוצאה מתשאלים דרך /api/v2/jobs/{job_id}.
Transcribe a single YouTube video. Returns immediately for caption-based videos; falls back to ASR (async) when allow_asr is true and captions are unavailable.
/api/v2/transcribevideostringחובהYouTube URL or 11-character video ID. Required unless upload_id is set.
upload_idstringTranscribe an uploaded media file instead of a YouTube video (see /uploads). Forces the ASR path; webhook_url required. The upload id is returned as video_id in results.
languageISO 639-1Preferred transcript language (e.g. en). If unavailable, captions in another language may be returned: transcript.language reports the actual language.
sourceauto | manual | asrPreferred transcript source. Default: auto. Use asr for audio transcription (async, requires webhook_url).
allow_asrbooleanFall back to ASR if captions fail. Required for ASR-only videos.
formatobject{ timestamp, paragraphs, words }: include extra structure in the transcript.
webhook_urluriWhen set, the response returns processing and the result is delivered to your URL. Required for ASR.
asr_optionsobjectRich ASR config: language (+ codeSwitching, medicalMode, keyTerms), translateTo, speaker diarization (speakerLabels, speakerId + type/known values, multichannel, exact or min/max expected speakers), speech understanding (topics, summary, moderation, PII, profanity, sentiment), and formatting (punctuation, text formatting, filler words, custom date/phone/email patterns). Billable add-ons increase cost: preview with /transcribe/estimate. See the AsrOptions schema in the OpenAPI spec.
Dry-run credit estimate. Returns the ASR base cost plus any add-on surcharge for the requested asr_options without creating a job or charging credits.
/api/v2/transcribe/estimatevideostringחובהYouTube URL or 11-character video ID.
sourceauto | manual | asrDefaults to asr for cost preview.
asr_optionsobjectSame shape as /transcribe. Add-on charges are prorated by duration.
Poll a single transcription job. Use this for ASR jobs returned from /transcribe. Returns 202 while running and 200 when complete. Completed ASR jobs include asr_intelligence (summary, topics, sentiment, etc.) when those options were enabled.
/api/v2/jobs/{job_id}job_idpathחובהIdentifier returned in the original transcribe response.
include_segmentsbooleanInclude segment-level timestamps in the transcript payload.
include_paragraphsbooleanInclude paragraph groupings.
include_wordsbooleanInclude word-level timestamps (ASR only).
תמללו קובצי אודיו או וידאו משלכם דרך צינור ה־ASR. שלושה שלבים: רושמים את ההעלאה, שולחים את הבייטים ב־PUT לכתובת ה־URL החתומה ומסיימים את ההעלאה. לאחר מכן קוראים ל־/transcribe עם upload_id. התוצאות מגיעות דרך ה־webhook שלכם, ואפשר לתשאל אותן כמו כל משימת ASR.
Register an audio/video file upload and get a signed URL. PUT the raw file bytes to signed_url (with the file's Content-Type), finalize via /uploads/{upload_id}/complete, then transcribe with upload_id on /transcribe. Max 2GB and 8 hours per file.
/api/v2/uploadsfilenamestringחובהOriginal filename. The extension is preserved for content sniffing.
mime_typestringחובהMust start with audio/ or video/ (e.g. audio/mpeg, video/mp4).
size_bytesintegerחובהFile size in bytes. Max 2147483648 (2GB).
duration_secintegerחובהMedia duration in seconds. Max 28800 (8 hours). Used for the ASR credit estimate.
Finalize an upload after the PUT to signed_url succeeds. Verifies the file exists in storage and marks it ready. The upload can then be transcribed by passing upload_id to /transcribe (source="asr", webhook_url required).
/api/v2/uploads/{upload_id}/completeupload_idpathחובהUpload id returned by POST /uploads.
תמללו סרטונים רבים בבקשה אחת, ואז תשאלו את התוצאות או קבלו אותן דרך webhook.
Submit up to 3,000 videos in one request. Returns within 2 seconds; poll the returned poll_url or wait for the webhook.
/api/v2/batchvideo_idsstring[]חובהUp to 3,000 IDs depending on plan. Free = 10, Basic = 500, Pro = 1,500, Business = 3,000.
languageISO 639-1Preferred language for every video.
sourceauto | manual | asrPreferred transcript source. Default: auto. source=asr requires webhook_url.
allow_asrbooleanFall back to ASR when captions fail. webhook_url is required.
formatobject{ timestamp, paragraphs, words }: applied to every result.
webhook_urluriDelivers the completed batch payload. Required when allow_asr=true or source=asr.
asr_optionsobjectRich ASR config applied to every video transcribed via ASR (same shape as /transcribe). Billable add-ons apply per video.
Check the status of a batch. Returns 202 while processing and 200 when results are ready. Stop polling once status is "completed", "partial", or "failed": finished batches never change, and re-fetching one more than 60 times in 24h returns 429 with a Retry-After header.
/api/v2/batch/{batch_id}batch_idpathחובהBatch identifier returned from POST /batch.
הציגו, שלפו, תרגמו ומחקו את התמלולים השמורים שלכם, והציגו רשימה של משימות אסינכרוניות. כל נקודות הקצה תומכות באותו אימות באמצעות מפתח API.
List your transcription jobs, newest first. Filter by status and paginate. Use the returned job_id with GET /api/v2/jobs/{job_id} to fetch a transcript.
/api/v2/jobspagequeryPage number (default 1).
limitqueryItems per page (default 50, max 100).
statusquerycompleted | processing | failed | requires_asr_confirmation.
List stored transcripts with search, status, language, and date filters. Metadata only (no full text) unless include_segments=true.
/api/v2/transcriptspagequeryPage number (default 1).
limitqueryItems per page (default 50, max 100).
searchqueryMatch video id, title, or transcript text.
statusqueryFilter by status; omit for succeeded.
languagequeryFilter by language code.
date_fromqueryISO date-time lower bound.
date_toqueryISO date-time upper bound.
include_segmentsqueryInclude segments in each item.
Fetch the best owned transcript for a video, including asr_intelligence (summary, topics, sentiment, etc.), plus summary and mind_map when generated.
/api/v2/transcripts/{video_id}video_idpathחובהYouTube 11-character video ID.
idquerySpecific transcript/job id.
languagequeryPreferred language version.
sourcequeryauto | manual | asr.
include_timestampsqueryInclude segments (default true).
Translate an owned transcript into a target language using YouTube captions or the AI provider. Returns free if you already own the translation.
/api/v2/transcripts/{video_id}/translatevideo_idpathחובהYouTube 11-character video ID.
target_languageISO 639-1חובהLanguage to translate into.
source_languageISO 639-1Source transcript language to translate from.
providerai | youtubeTranslation provider.
allow_ai_fallbackbooleanFall back to AI when YouTube has no translation.
List the languages you already own for a video plus the YouTube translation targets available for it.
/api/v2/transcripts/{video_id}/languagesvideo_idpathחובהYouTube 11-character video ID.
include_youtube_defaultqueryInclude YouTube translation targets (default true).
Delete owned transcript(s) for a video. Optional language/source query params narrow the deletion; otherwise every language/source is removed. Also deletes bulk by id via POST /api/v2/transcripts/bulk-delete.
/api/v2/transcripts/{video_id}video_idpathחובהYouTube 11-character video ID.
languagequeryOnly delete this language.
sourcequeryOnly delete this source (auto | manual | asr).
המירו פלייליסט למזהי סרטונים, תמללו אותם עם /api/v2/batch, ואז בדקו את אצוות הפלייליסט ואת ההיסטוריה.
Resolve a YouTube playlist by URL or ID into its video list (metadata only). Pair the returned video_id values with /api/v2/batch to transcribe them.
/api/v2/playlists/resolveתוכניות בתשלוםplaylist_urlstringPlaylist URL. One of playlist_url or playlist_id is required.
playlist_idstringPlaylist ID (the list= value).
limitintegerMax videos returned (1-100).
Fetch a playlist batch and per-video transcription job status. For overall batch progress, poll GET /api/v2/batch/{batch_id}.
/api/v2/playlists/{playlist_id}playlist_idpathחובהBatch ID returned from /playlists/resolve.
List recent playlist batches for the authenticated user.
/api/v2/playlists/historyתהליך תמלול ערוץ:1. POST /api/v2/channels/resolve: שליפת הסרטונים שהועלו לערוץ (מטא־דאטה של הסרטונים בלבד).2. POST /api/v2/batch: שליחת ערכי video_id שהתקבלו כדי להתחיל בתמלול. השתמשו ב־webhook_url כדי לקבל את התוצאות בסיום.3. GET /api/v2/batch/{batch_id}: תשאול האצווה לקבלת ההתקדמות הכוללת והתוצאות המצטברות.4. GET /api/v2/channels/{channel_id}: שליפת אצוות ערוץ עם סטטוס המשימה של כל סרטון. /channels/history מציג את אצוות הערוצים הקודמות.
Fetch the uploads of a YouTube channel by URL, channel ID, or @handle. Returns video metadata only: pair the returned video_id values with /api/v2/batch to transcribe them.
/api/v2/channels/resolveתוכניות בתשלוםchannel_urlstringחובהYouTube channel URL, channel ID, or @handle. One of channel_url, channel_id, or handle must be provided. Handles are the public ID without the @ (for https://www.youtube.com/@jawed, the ID is jawed).
limitintegerMaximum uploads returned. Defaults to the plan maximum.
Per-request cap: Basic 500 videos · Pro 1,500 videos · Business 3,000 videos. Monthly job cap: Basic 3 · Pro 8 · Business unlimited.
Plan-based: Free 1 req/s · Basic 25 req/s · Pro 50 req/s · Business 100 req/s. Exceeding the limit returns 429 with a Retry-After header.
Fetch a channel batch and the per-video transcription job status. For overall batch status (counts + progress), poll GET /api/v2/batch/{batch_id} instead: use this endpoint when you also need each video's individual job state.
/api/v2/channels/{channel_id}channel_idpathחובהBatch ID returned from /channels/resolve.
List recent channel batches for the authenticated user.
/api/v2/channels/historylimitqueryMax items (default 50, max 100).
SDK רשמיים, שרת MCP ל־Claude ול־Cursor, GPT מותאם אישית ותבניות מוכנות ל־Make ול־n8n.
הוסיפו את שרת ה־MCP של YouTube Transcript ל־Claude Desktop, ל־Cursor או לכל לקוח תואם MCP. השרת מוסיף כלים לתמלול סרטונים, לשליפת תמלולים קיימים ולבדיקת השימוש.
claude mcp add --transport http youtubetranscript https://mcp.youtubetranscript.dev --header "x-api-token: YOUR_API_KEY"טיפוסי TypeScript מלאים, ניסיונות חוזרים, כלי עזר לעימוד ואימות חתימות webhook.
npm install youtube-transcript-apiלקוחות סינכרוניים ואסינכרוניים, type stubs וכלי עזר לתהליכי אצווה ו־webhook.
pip install youtubetranscriptdevapiהוסיפו את ה־GPT המותאם שלנו ל־ChatGPT כדי לסכם, לצטט, לתרגם או לתשאל כל סרטון YouTube בשפה טבעית. מאחורי הקלעים הוא מבוסס על /api/v2/gpt/*.
ייבאו את התבנית (או העתיקו את קטע הקוד) כדי להוסיף תמלול לאוטומציות קיימות: Notion, Sheets, Slack, Airtable ותהליכים בסגנון Zapier.
Module: HTTP > Make a request
- URL: https://www.youtubetranscript.dev/api/v2/transcribe
- Method: POST
- Headers:
Authorization: Bearer {{connection.api_key}}
Content-Type: application/json
- Body type: Raw / JSON
- Request content:
{
"video": "{{1.video_url}}",
"format": { "timestamp": true }
}{
"name": "Transcribe Video",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"method": "POST",
"url": "https://www.youtubetranscript.dev/api/v2/transcribe",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={ \"video\": $json.video_url }"
}
}ייבאו את מפרט ה־OpenAPI ל־Postman, ל־Insomnia או לכל כלי שתומך ב־OpenAPI 3.
שגיאות מחזירות גוף JSON עם code ו־message. סטטוס ה־HTTP משקף את הקטגוריה.
| סטטוס HTTP | קוד שגיאה | תיאור |
|---|---|---|
| 400 | invalid_request | Invalid JSON or missing required fields |
| 401 | invalid_api_key | Missing or invalid API key |
| 402 | payment_required | Insufficient credits |
| 404 | no_captions | No captions available and ASR not used |
| 429 | rate_limit_exceeded | Too many requests, check Retry-After |
| 500 | internal_error | Server error, retry with backoff |
מגבלות לפי תוכנית לבקשות רציפות ולגודל אצוות. חריגה מהמגבלה בפרצי תעבורה מחזירה 429 עם כותרת Retry-After.
| תוכנית | בקשות | גודל אצווה |
|---|---|---|
| Free | 1 req/s | 10 videos |
| Basic | 25 req/s | 500 videos |
| Pro | 50 req/s | 1,500 videos |
| Business | 100 req/s | 3,000 videos |
צריכים עזרה בהשקה? פנו אלינו: בדרך כלל אנחנו עונים תוך כמה שעות.