Migrating from TranscriptAPI.com: A Field Guide
Switching a YouTube transcript integration from TranscriptAPI.com to GetYouTubeTranscript - parameter mapping, a before/after curl example, endpoint equivalents, and the real gaps that do not map 1:1.
00:06:00 · SEP 26, 2026
Краткий ответ
Сопоставление параметров
Оба API аутентифицируются с помощью bearer-токена и принимают полный URL, короткий URL или голый ID видео. Вот как остальные параметры расшифровки TranscriptAPI соответствуют нашим:
| TranscriptAPI.com | GetYouTubeTranscript | Примечание |
|---|---|---|
Authorization: Bearer KEY | Authorization: Bearer KEY | Мы также принимаем x-api-key как альтернативный заголовок. |
video_url | v (или url, videoId) | Те же принимаемые форматы: полный URL, короткий URL, или голый 11-символьный ID. |
language | language | Наш принимает один код со значением по умолчанию, а не список приоритетов через запятую - запрашивайте один язык за вызов. |
format=json|text | (нет - всегда обычный текст) | Наш ответ всегда возвращает сплющенную строку расшифровки в поле transcript, что эквивалентно их format=text. |
include_timestamp | (не предоставляется) | Метки времени по сегментам (start/duration) сегодня отсутствуют в нашем публичном ответе - см. различия ниже. |
send_metadata=true | (всегда включено) | title, author_name, author_url и thumbnail_url всегда есть в ответе - никакой флаг не нужен. |
До / после
TranscriptAPI.com
curl -X GET "https://transcriptapi.com/api/v2/youtube/transcript?video_url=https://youtu.be/dQw4w9WgXcQ&language=en&send_metadata=true" \
-H "Authorization: Bearer YOUR_API_KEY"GetYouTubeTranscript
curl "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ&language=en" \
-H "Authorization: Bearer sk_live_..."
# => { "success": true, "data": { "video_id": "...", "language_code": "en",
# "title": "...", "author_name": "...", "author_url": "...",
# "thumbnail_url": "...", "transcript": "...", "word_count": 1847 } }То же видео, один кредит в обоих случаях. Метаданные возвращаются у нас по умолчанию, так что не нужно помнить о флаге send_metadata.
Другие эндпоинты
| TranscriptAPI.com | GetYouTubeTranscript | Примечание |
|---|---|---|
GET /youtube/info (бесплатно) | GET /resolve?handle=... (бесплатно) | Наш преобразует хендл/URL в ID канала; для метаданных на уровне видео вызовите /transcript и прочитайте поля ответа. |
GET /youtube/search (1 кредит) | GET /search?q=... (1 кредит/страница) | Та же идея - постраничный поиск, один кредит за полученную страницу. |
GET /youtube/channel/resolve (бесплатно) | GET /resolve?handle=... (бесплатно) | Прямой эквивалент. |
GET /youtube/channel/videos (1/страница) | GET /channel/videos?channel=... (1 кредит/страница) | Та же модель пагинации - верните токен continuation из ответа. |
GET /youtube/channel/search (1 кредит) | GET /channel/search?channel=...&q=... (1 кредит/страница) | Прямой эквивалент. |
GET /youtube/channel/playlists, /channel/posts | (нет эквивалента) | Пока не предлагается - см. различия ниже. |
Что не соответствует 1:1
- Нет меток времени по сегментам в ответе API. format=json + include_timestamp=true у TranscriptAPI возвращает сегменты с start/duration; наш публичный API возвращает только сплющенную строку расшифровки. (Метки времени по сегментам существуют в нашей базе данных и обеспечивают кликабельный просмотр расшифровки на самом сайте - просто их пока нет в публичном ответе API.)
- language здесь - это один код, а не список приоритетов. TranscriptAPI пробует список через запятую вроде de,en,asr слева направо; наш принимает один код со значением по умолчанию. Если вы полагались на цепочку резервных вариантов, повторите попытку самостоятельно с другим значением.
- Нет эндпоинтов плейлистов канала или постов канала. У /channel/playlists и /channel/posts TranscriptAPI пока нет эквивалента здесь.
Если обычный текст расшифровки, метаданные, поиск и данные канала покрывают ваш случай использования, это почти прямая замена - зарегистрируйтесь и получите 100 бесплатных кредитов (без карты) и посмотрите полный список цен и эндпоинтов, или загляните в документацию API для полного справочника по параметрам.
Часто задаваемые вопросы о миграции
Нужно ли менять заголовок аутентификации?
Нет - оба API используют Authorization: Bearer ВАШ_КЛЮЧ. Наш также принимает x-api-key как альтернативу.
Будут ли работать мои существующие URL и ID видео?
Да - оба API принимают полный URL YouTube, короткий URL youtu.be, или голый 11-символьный ID видео в той же позиции параметра (там video_url, здесь v).
Что произойдёт, если я отправлю список языков через запятую, как в формате TranscriptAPI?
Наш параметр language ожидает один код, а не список. Значение через запятую, скорее всего, просто не совпадёт - запрашивайте один язык за вызов и повторяйте попытку с другим значением, если нужна цепочка резервных вариантов.
Могу ли я получить метки времени по сегментам из вашего API?
Сегодня нет, не из публичного ответа REST API - он возвращает сплющенный текст расшифровки. Если ваша миграция зависит от этого, подождите, пока это станет доступно, или используйте собственный просмотр расшифровки на сайте, который это поддерживает.
Бесплатно ли попробовать?
100 бесплатных кредитов при регистрации, карта не нужна - достаточно, чтобы протестировать эндпоинты расшифровки, поиска и канала перед выбором тарифа.
Похожие материалы
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- How to Get YouTube Transcripts in Python
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- GetYouTubeTranscript против TranscriptAPI
- GetYouTubeTranscript против youtubetotranscript.com
- GetYouTubeTranscript против youtube-transcript.io
- GetYouTubeTranscript против NoteGPT