Black Friday · 30% off

Get 30% off

Documentação da API

Uma API REST para transcrições, buscas e metadados do YouTube. Obtenha uma chave de API no seu painel — 100 créditos grátis, sem cartão necessário.

Autenticação

Envie sua chave de API como um bearer token, ou via x-api-key:

Authorization: Bearer sk_live_...
# or
x-api-key: sk_live_...

URL base

https://getyoutubetranscript.com/api/v1

Créditos e planos

PlanoPreçoCréditos/mêsPreço do top-upLimite de taxa
Grátis$ 0/mês100 (único)—60 req/min
Mensal$ 5/mês1.000$ 2,50 / 1.000200 req/min
Anual$ 4,50/mês ($ 54/ano)1.000$ 1,50 / 1.000300 req/min
Starter$ 19/mês7.500$ 1,50 / 1.000300 req/min
Pro$ 49/mês25.000$ 1,50 / 1.000400 req/min
Scale$ 99/mês60.000$ 1,50 / 1.000600 req/min

1 crédito = 1 requisição bem-sucedida. Requisições com falha nunca são cobradas. Exemplo: 10 requisições de transcrição em que 2 vídeos não têm legendas custam 8 créditos, e tentar de novo um vídeo que falhou não custa nada até dar certo. Créditos avulsos (top-up) expiram 30 dias após a compra ou ao final do seu período de faturamento atual, o que ocorrer depois, e exigem uma assinatura ativa para serem usados.

Endpoints

GET/transcript1 crédito

Obtém a transcrição de um vídeo do YouTube, com metadados (título, canal, miniatura). Também retorna language_code vs. requested_language, caption_type (manual ou auto, null se desconhecido) e cached / fetched_at.

ParâmetroObrigatórioDescrição
vSimID do vídeo ou URL completa do YouTube
languageNãoCódigo do idioma (padrão: en)
timestampsNãoDefina como true para incluir marcações de tempo por linha (segments: start, duration, text em segundos). Desativado por padrão.
translateNãoCódigo do idioma para tradução automática, por exemplo es ou zh-CN. As marcações de tempo continuam alinhadas; a resposta inclui translated_to. Continua custando 1 crédito.

Requisição

curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "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"
  }
}
GET/transcript/languages1 crédito

Lista os idiomas de legenda de um vídeo (manuais e gerados automaticamente) antes de buscar um. default_language_code é o que /transcript retorna sem idioma; um vídeo sem legendas retorna uma lista vazia.

ParâmetroObrigatórioDescrição
vSimID do vídeo ou URL completa do YouTube

Requisição

curl "https://getyoutubetranscript.com/api/v1/transcript/languages?v=kJQP7kiw5Fk" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "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" }
    ]
  }
}
POST/batch1 crédito / vídeo com sucesso

Coloque até 100 vídeos na fila em uma única chamada. Retorna um batch_id na hora e busca as transcrições em segundo plano. Consulte GET /batch ou informe webhook_url para receber um POST assinado (cabeçalho X-GYT-Signature) ao terminar. Vídeos com falha nunca são cobrados.

ParâmetroObrigatórioDescrição
videosSimArray de IDs ou URLs de vídeo (1-100). Duplicados são buscados uma vez só.
languageNãoCódigo de idioma para todos os vídeos (padrão: en)
timestampsNãotrue para incluir segments por linha nos resultados
webhook_urlNãoURL https pública notificada quando o lote termina
Idempotency-KeyNãoCabeçalho. Repita a requisição com segurança: a mesma chave retorna o lote original.

Requisição

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"
      }'

Resposta

{
  "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_..."
  }
}
GET/batchGrátis

Status do lote, contagens e uma página de resultados na ordem de envio. Itens com sucesso têm os mesmos campos de /transcript; itens com falha trazem um error_code.

ParâmetroObrigatórioDescrição
idSimO batch_id retornado por POST /batch
offsetNãoItens a pular (padrão: 0)
limitNãoItens por página, 1-50 (padrão: 20)

Requisição

curl "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-e4d5-4b3c-b8e7-04235671066b" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "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
  }
}
GET/search1 crédito / página

Busca vídeos do YouTube com filtros e paginação.

ParâmetroObrigatórioDescrição
qSimTermo de busca (mínimo de 2 caracteres)
countryNãoCódigo de país de 2 letras (padrão: us)
languageNãoCódigo do idioma (padrão: en)
page_tokenNãoO continuation_token da resposta anterior, para buscar a próxima página
limitNãoMáximo de resultados (padrão 20, máximo 50)

Requisição

curl "https://getyoutubetranscript.com/api/v1/search?q=lofi+beats" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "query": "lofi beats",
    "video_results": [ { "title": "...", "videoId": "...", "channel": { "name": "..." } } ],
    "continuation_token": "c_bKt9xQ2mVf7LpR0aZ3sWyA"
  }
}
GET/resolve1 crédito

Resolve um handle, URL ou nome de usuário de canal para seu ID real de canal. Uma entrada sintática (já um ID de canal ou URL contendo um) é resolvida instantaneamente sem chamada de rede; um handle simples dispara uma consulta real.

ParâmetroObrigatórioDescrição
handleSimID do canal, URL, ou @handle

Requisição

curl "https://getyoutubetranscript.com/api/v1/resolve?handle=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
    "title": "Marques Brownlee",
    "handle": "http://www.youtube.com/@mkbhd",
    "resolved_via": "lookup"
  }
}
GET/channel/latest1 crédito

Dados do canal (título, inscritos, descrição, avatar) e os vídeos mais recentes da aba inicial do canal. Para todo o histórico de envios use /channel/videos.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/latest?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "channel": { "id": "UCBJycsmduvYEL83R_U4JriQ", "title": "Marques Brownlee", "subscribers": 1160000, "avatar": "https://..." },
    "about": { "description": "...", "links": [] },
    "videos_sections": [ ... ]
  }
}
GET/channel/videos1 crédito / página

Todos os vídeos enviados por um canal, dos mais recentes aos mais antigos, com paginação.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal
tabNãovideos (padrão), shorts ou streams (aba Ao vivo). Somente a primeira página.
sortNãolatest (padrão), popular ou oldest. Somente a primeira página.
continuationNãocontinuation_token da resposta anterior, para buscar a próxima página (use no lugar dos outros parâmetros). Expira após 24 horas.

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/videos?channel=@mkbhd&tab=shorts&sort=popular" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "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"
  }
}
GET/channel/playlists1 crédito / página

As playlists de um canal (aba Playlists), paginadas. Passe o id de uma playlist para /playlist para listar os vídeos dela.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal
continuationNãocontinuation_token da resposta anterior, para buscar a próxima página (use no lugar dos outros parâmetros). Expira após 24 horas.

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/playlists?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "playlists": [ { "position": 1, "id": "PL...", "title": "...", "link": "https://www.youtube.com/playlist?list=PL...", "video_count": 5 } ],
    "has_more": false,
    "continuation_token": null
  }
}
GET/channel/posts1 crédito / página

As postagens da comunidade de um canal (aba Comunidade), paginadas: texto, links, curtidas, comentários e imagem anexada.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal
continuationNãocontinuation_token da resposta anterior, para buscar a próxima página (use no lugar dos outros parâmetros). Expira após 24 horas.

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/posts?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "posts": [ { "position": 1, "id": "Ugkx...", "url": "https://www.youtube.com/post/Ugkx...", "text": "...", "published_time": "2 years ago", "likes": "12K", "comments": "1K" } ],
    "has_more": true,
    "continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
  }
}
GET/channel/search1 crédito / página

Pesquisa dentro dos vídeos de um canal, com paginação.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal
qSimTermo de busca (mínimo de 2 caracteres)
continuationNãocontinuation_token da resposta anterior, para buscar a próxima página (use no lugar dos outros parâmetros). Expira após 24 horas.

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/search?channel=@mkbhd&q=iphone" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "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"
  }
}
GET/playlist1 crédito / página

Todos os vídeos de uma playlist, com paginação. continuation_token é null na última página.

ParâmetroObrigatórioDescrição
listSimID ou URL da playlist
continuationNãocontinuation_token da resposta anterior, para buscar a próxima página (use no lugar dos outros parâmetros). Expira após 24 horas.

Requisição

curl "https://getyoutubetranscript.com/api/v1/playlist?list=PLxxx" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "playlist_id": "PLxxx",
    "title": "...",
    "videos": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." } } ],
    "has_more": true,
    "continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
  }
}
GET/video/related1 crédito

Os vídeos que o YouTube sugere ao lado de um vídeo, com título, id, canal, visualizações, idade e duração.

ParâmetroObrigatórioDescrição
vSimID do vídeo ou URL completa do YouTube

Requisição

curl "https://getyoutubetranscript.com/api/v1/video/related?v=dQw4w9WgXcQ" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "related": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." }, "views": "410K", "published_time": "11y ago", "length": "1:01:35" } ]
  }
}
GET/video/dislikes1 crédito

Curtidas e descurtidas estimadas de um vídeo. O YouTube não publica mais as descurtidas, então são estimativas (estimated é sempre true).

ParâmetroObrigatórioDescrição
vSimID do vídeo ou URL completa do YouTube

Requisição

curl "https://getyoutubetranscript.com/api/v1/video/dislikes?v=dQw4w9WgXcQ" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "likes": 19497714,
    "dislikes": 521713,
    "rating": 4.9,
    "view_count": 1830715799,
    "estimated": true
  }
}
GET/channel/banner1 crédito

O banner sem corte de um canal, todos os tamanhos de recorte que o YouTube serve e o avatar. has_banner é false quando o canal não tem banner.

ParâmetroObrigatórioDescrição
channelSim@handle, URL ou ID do canal

Requisição

curl "https://getyoutubetranscript.com/api/v1/channel/banner?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
    "title": "Marques Brownlee",
    "avatar": "https://yt3.googleusercontent.com/...",
    "has_banner": true,
    "banner": { "original": "https://...=s0", "largest": "https://...=w2560", "sizes": [ { "url": "https://...", "width": 1060, "height": 175 } ] }
  }
}
GET/creditsGrátis

Consulte o saldo de créditos restante desta chave antes de gastá-lo - os mesmos dados que a ferramenta MCP get_credits retorna.

ParâmetroObrigatórioDescrição

Requisição

curl "https://getyoutubetranscript.com/api/v1/credits" \
  -H "Authorization: Bearer sk_live_..."

Resposta

{
  "success": true,
  "data": {
    "plan_credits_left": 87,
    "topup_credits_left": 0,
    "plan": "monthly",
    "rate_limit_per_minute": 200
  }
}

Erros

Os erros retornam um corpo JSON com um campo code estável para uso condicional, além do status HTTP:

StatusCódigoSignificado
400BAD_REQUESTParâmetro ausente ou inválido
400CURSOR_EXPIREDO cursor de página expirou (após 24 horas) - comece de novo pela primeira página
401MISSING_API_KEY / INVALID_API_KEYNenhuma chave fornecida, ou chave inválida/revogada
402PAYMENT_REQUIREDSem créditos - compre um top-up ou faça upgrade
404VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUNDVídeo ou recurso não encontrado
429RATE_LIMITEDMuitas requisições para o seu plano
503UPSTREAM_UNAVAILABLEProblema temporário no serviço upstream - seguro para tentar novamente
504UPSTREAM_TIMEOUTO serviço levou mais de 25 segundos - não é cobrado e é seguro tentar de novo

Usando esta API com uma ferramenta de IA

Prefere deixar o Claude (ou outra ferramenta de IA para código) chamar esta API para você em vez de escrever requisições manualmente? Baixe a skill YouTube Transcript - uma Claude Skill pronta que ensina como buscar transcrições, fazer buscas e muito mais.

Usar no Zapier

Sem código: nosso app do Zapier busca uma transcrição, pesquisa no YouTube ou lista os vídeos de um canal em qualquer Zap. Conecte com a mesma chave de API; cada ação custa os mesmos créditos da chamada à API.

Featured on aitoolfame.comFeatured on Aura++Featured on DeepLaunch.ioFeatured on Dofollow.ToolsFeatured on EasyDoFollowFeatured on EarlyHuntFeatured on Findly.toolsFeatured on FoundrListGood AI ToolsFeatured on IndieHuntFeatured on LaunchBuffFeatured on launched.toolsFeatured on Launch Llama ToolsFeatured on LemonLaunchLiftOff launch badgeMy Launch StashGetYouTubeTranscript on Nick LaunchesOpenHunts Club MemberFeatured on saasfame.comShinyLaunchFeatured on ShowMeBestAIFeatured on toolfame.comListed on Turbo0Featured on Twelve ToolsHuzzler Embed BadgeFeatured on CodeHypeGetYouTubeTranscript on Better LaunchDokeyAIFeatured on WayfindioFeatured on LaunchZoneFeatured on NoonlaunchFeatured on WhatsthebigdataSurfaced on CodeTrendyFeatured on ScrollLaunchFeatured on ufind.bestFeatured on ShipBoostProduct WingWe Like ToolsAppa ListAcid ToolsPower Up ToolsToshi ListAIGC 160Appsy ToolsHunt for ToolsBeam ToolsTool Find DirTool SignalSaaS Tools DirSoftware BoltProduct List DirStack DirectorySaaS FieldSaaS WheelSaaS RootsStartup BenchmarksUnite ListTrustinerBest Tool VaultSolver ToolsAsh ListSmart Kit HubAI X CollectionAI Tech ViralMillion Dot HomepageThat App ShowLaunch ScrollMy Start ToolsLatest AI UpdatesSuper AI BoomTools Under RadarThe Key ToolsTool JourneyTools List HQThe App ToolsThe Mega ToolsSource DirTool CosmosTop Trend ToolsTiny Tool HubTool PrismStartup AIdeasFeatured on WonderLaunchFeatured on ShipycornFeatured on ToolsClawListed on ProofStoriesFeatured on ToolListedLaunched on Launch Streak