Документация API
REST API для транскриптов YouTube, поиска и метаданных. Получите API-ключ в своей панели управления — 100 бесплатных кредитов, карта не требуется.
Аутентификация
Передайте свой API-ключ как bearer-токен или через x-api-key:
Authorization: Bearer sk_live_...
# or
x-api-key: sk_live_...Базовый URL
https://getyoutubetranscript.com/api/v1Кредиты и тарифы
| Тариф | Цена | Кредиты/мес | Цена топ-апа | Лимит запросов |
|---|---|---|---|---|
| Бесплатный | 0 $/мес | 100 (единоразово) | — | 60 запросов/мин |
| Помесячный | 5 $/мес | 1 000 | 2,50 $ / 1 000 | 200 запросов/мин |
| Годовой | 4,50 $/мес (54 $/год) | 1 000 | 1,50 $ / 1 000 | 300 запросов/мин |
| Starter | 19 $/мес | 7 500 | 1,50 $ / 1 000 | 300 запросов/мин |
| Pro | 49 $/мес | 25 000 | 1,50 $ / 1 000 | 400 запросов/мин |
| Scale | 99 $/мес | 60 000 | 1,50 $ / 1 000 | 600 запросов/мин |
1 кредит = 1 успешный запрос. Неудачные запросы никогда не списываются. Пример: 10 запросов транскриптов, где у 2 видео нет субтитров, стоят 8 кредитов, а повторная попытка для неудачного видео ничего не стоит, пока она не завершится успешно. Дополнительные кредиты (топ-ап) истекают через 30 дней с момента покупки или в конце текущего расчётного периода — в зависимости от того, что наступит позже, и требуют активной подписки для использования.
Эндпоинты
/transcript1 кредитПолучить транскрипт видео YouTube с метаданными (название, канал, миниатюра). Также возвращает language_code и requested_language, caption_type (manual или auto, null, если неизвестно) и cached / fetched_at.
| Параметр | Обязательный | Описание |
|---|---|---|
v | Да | ID видео или полная ссылка YouTube |
language | Нет | Код языка (по умолчанию: en) |
timestamps | Нет | Укажите true, чтобы добавить отметки времени для каждой строки (segments: start, duration, text в секундах). По умолчанию выключено. |
Запрос
curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"video_id": "jNQXAC9IVRw",
"language_code": "en",
"requested_language": "en",
"caption_type": "manual",
"title": "Me at the zoo",
"author_name": "jawed",
"author_url": "https://www.youtube.com/channel/UC4Qob...",
"thumbnail_url": "https://...",
"transcript": "All right, so here we are...",
"word_count": 39,
"cached": true,
"fetched_at": "2026-09-20T03:10:58.938Z"
}
}/transcript/languagesБесплатноСписок языков субтитров видео (ручных и автоматически созданных) до загрузки одного из них. default_language_code — это то, что /transcript возвращает без указания языка; для видео без субтитров возвращается пустой список.
| Параметр | Обязательный | Описание |
|---|---|---|
v | Да | ID видео или полная ссылка YouTube |
Запрос
curl "https://getyoutubetranscript.com/api/v1/transcript/languages?v=kJQP7kiw5Fk" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"video_id": "kJQP7kiw5Fk",
"default_language_code": "en",
"languages": [
{ "language_code": "en", "name": "English - en", "caption_type": "manual" },
{ "language_code": "es", "name": "Spanish", "caption_type": "manual" }
]
}
}/batch1 кредит / успешное видеоПоставьте в очередь до 100 видео одним вызовом. Сразу возвращает batch_id и загружает транскрипты в фоне. Проверяйте GET /batch или укажите webhook_url, чтобы по завершении получить подписанный POST (заголовок X-GYT-Signature). Неудачные видео никогда не списываются.
| Параметр | Обязательный | Описание |
|---|---|---|
videos | Да | Массив ID или URL видео (1-100). Дубликаты загружаются один раз. |
language | Нет | Код языка для всех видео (по умолчанию: en) |
timestamps | Нет | true, чтобы включить построчные segments в результаты |
webhook_url | Нет | Публичный https URL, который уведомляется по завершении пакета |
Idempotency-Key | Нет | Заголовок. Безопасный повтор запроса: тот же ключ вернёт исходный пакет. |
Запрос
curl -X POST "https://getyoutubetranscript.com/api/v1/batch" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"videos": ["jNQXAC9IVRw", "https://youtu.be/dQw4w9WgXcQ"],
"webhook_url": "https://example.com/hooks/transcripts"
}'Ответ
{
"success": true,
"data": {
"batch_id": "324eb615-e4d5-4b3c-b8e7-04235671066b",
"status": "queued",
"total": 2,
"succeeded": 0,
"failed": 0,
"pending": 2,
"results_url": "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-...",
"webhook_secret": "whsec_..."
}
}/batchБесплатноСтатус пакета, счётчики и страница результатов в порядке отправки. Успешные элементы содержат те же поля, что и /transcript; у неудачных есть error_code.
| Параметр | Обязательный | Описание |
|---|---|---|
id | Да | batch_id из POST /batch |
offset | Нет | Сколько элементов пропустить (по умолчанию: 0) |
limit | Нет | Элементов на странице, 1-50 (по умолчанию: 20) |
Запрос
curl "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-e4d5-4b3c-b8e7-04235671066b" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"batch_id": "324eb615-...",
"status": "completed",
"total": 2,
"succeeded": 1,
"failed": 1,
"credits_charged": 1,
"items": [
{ "position": 0, "status": "succeeded", "charged": true, "video_id": "jNQXAC9IVRw", "caption_type": "manual", "transcript": "All right, so here we are...", ... },
{ "position": 1, "status": "failed", "charged": false, "video_id": "dQw4w9WgXcQ", "error_code": "TRANSCRIPT_DISABLED" }
],
"next_offset": null
}
}/search1 кредит / страницаПоиск видео YouTube с фильтрами и постраничной навигацией.
| Параметр | Обязательный | Описание |
|---|---|---|
q | Да | Поисковый запрос (минимум 2 символа) |
country | Нет | Двухбуквенный код страны (по умолчанию: us) |
language | Нет | Код языка (по умолчанию: en) |
page_token | Нет | Значение continuation_token из предыдущего ответа для получения следующей страницы |
limit | Нет | Максимум результатов (по умолчанию 20, максимум 50) |
Запрос
curl "https://getyoutubetranscript.com/api/v1/search?q=lofi+beats" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"query": "lofi beats",
"video_results": [ { "title": "...", "videoId": "...", "channel": { "name": "..." } } ],
"continuation_token": "c_bKt9xQ2mVf7LpR0aZ3sWyA"
}
}/resolveБесплатноОпределить реальный ID канала по его хэндлу, URL или имени пользователя. Синтаксический ввод (уже являющийся ID канала или URL, содержащим его) обрабатывается мгновенно без сетевого запроса; обычный хэндл запускает один реальный поиск.
| Параметр | Обязательный | Описание |
|---|---|---|
handle | Да | ID канала, URL или @хэндл |
Запрос
curl "https://getyoutubetranscript.com/api/v1/resolve?handle=@mkbhd" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"title": "Marques Brownlee",
"handle": "http://www.youtube.com/@mkbhd",
"resolved_via": "scrape"
}
}/channel/latestБесплатноДанные канала (название, подписчики, описание, аватар) и последние видео с главной вкладки канала. Для полной истории загрузок используйте /channel/videos.
| Параметр | Обязательный | Описание |
|---|---|---|
channel | Да | @handle, URL или ID канала |
Запрос
curl "https://getyoutubetranscript.com/api/v1/channel/latest?channel=@mkbhd" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"channel": { "id": "UCBJycsmduvYEL83R_U4JriQ", "title": "Marques Brownlee", "subscribers": 1160000, "avatar": "https://..." },
"about": { "description": "...", "links": [] },
"videos_sections": [ ... ]
}
}/channel/videos1 кредит / страницаВсе видео, загруженные каналом, от новых к старым, с пагинацией.
| Параметр | Обязательный | Описание |
|---|---|---|
channel | Да | @handle, URL или ID канала |
continuation | Нет | continuation_token из предыдущего ответа, чтобы получить следующую страницу (вместо остальных параметров). Действует 24 часа. |
Запрос
curl "https://getyoutubetranscript.com/api/v1/channel/videos?channel=@mkbhd" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"videos": [ { "position": 1, "id": "...", "title": "...", "views": "6.2M", "published_time": "1d ago", "length": "10:47" } ],
"has_more": true,
"continuation_token": "c_pqHR9v13sqaqxlcKhA4MnA"
}
}/channel/search1 кредит / страницаПоиск по видео одного канала, с пагинацией.
| Параметр | Обязательный | Описание |
|---|---|---|
channel | Да | @handle, URL или ID канала |
q | Да | Поисковый запрос (минимум 2 символа) |
continuation | Нет | continuation_token из предыдущего ответа, чтобы получить следующую страницу (вместо остальных параметров). Действует 24 часа. |
Запрос
curl "https://getyoutubetranscript.com/api/v1/channel/search?channel=@mkbhd&q=iphone" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"videos": [ { "position": 1, "id": "...", "title": "...", "published_time": "3w ago", "length": "17:14", "channel": { "name": "Marques Brownlee" } } ],
"has_more": true,
"continuation_token": "c_pnm10M6orzLgOTVWJk2oww"
}
}/playlist1 кредит / страницаВсе видео плейлиста, с пагинацией. На последней странице continuation_token равен null.
| Параметр | Обязательный | Описание |
|---|---|---|
list | Да | ID или URL плейлиста |
continuation | Нет | continuation_token из предыдущего ответа, чтобы получить следующую страницу (вместо остальных параметров). Действует 24 часа. |
Запрос
curl "https://getyoutubetranscript.com/api/v1/playlist?list=PLxxx" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"playlist_id": "PLxxx",
"title": "...",
"videos": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." } } ],
"has_more": true,
"continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
}
}/creditsБесплатноПроверьте остаток кредитов по этому ключу перед тем, как его потратить - те же данные, что возвращает MCP-инструмент get_credits.
| Параметр | Обязательный | Описание |
|---|
Запрос
curl "https://getyoutubetranscript.com/api/v1/credits" \
-H "Authorization: Bearer sk_live_..."Ответ
{
"success": true,
"data": {
"plan_credits_left": 87,
"topup_credits_left": 0,
"plan": "monthly",
"rate_limit_per_minute": 200
}
}Ошибки
Ошибки возвращают тело JSON со стабильным полем code для ветвления логики, в дополнение к HTTP-статусу:
| Статус | Код | Значение |
|---|---|---|
| 400 | BAD_REQUEST | Отсутствует или некорректен параметр |
| 400 | CURSOR_EXPIRED | Курсор страницы истёк (через 24 часа) – начните заново с первой страницы |
| 401 | MISSING_API_KEY / INVALID_API_KEY | Ключ не передан или недействителен/отозван |
| 402 | PAYMENT_REQUIRED | Кредиты закончились — купите топ-ап или обновите тариф |
| 404 | VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUND | Видео или ресурс не найден |
| 429 | RATE_LIMITED | Слишком много запросов для вашего тарифа |
| 503 | UPSTREAM_UNAVAILABLE | Временная проблема на стороне источника — можно безопасно повторить запрос |
| 504 | UPSTREAM_TIMEOUT | Сервис отвечал дольше 25 секунд – запрос не списывается, можно повторить |
Использование этого API с AI-инструментом
Предпочитаете, чтобы Claude (или другой AI-инструмент для написания кода) сам вызывал этот API вместо ручного написания запросов? Скачайте навык YouTube Transcript — готовый Claude Skill, который научит его получать транскрипты, выполнять поиск и многое другое.
Использовать в Zapier
Без кода: наше приложение Zapier получает транскрипт, ищет на YouTube или выводит список видео канала в любом Zap. Подключите его тем же API-ключом; каждое действие стоит столько же кредитов, сколько вызов API.