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/v1Créditos e planos
| Plano | Preço | Créditos/mês | Preço do top-up | Limite de taxa |
|---|---|---|---|---|
| Grátis | $0 | 100 (único) | — | 60 req/min |
| Mensal | $5,00/mês | 1.000 | $2,50 / 1.000 | 200 req/min |
| Anual | $4,50/mês ($54/ano) | 1.000 | $1,50 / 1.000 | 300 req/min |
1 crédito = 1 requisição bem-sucedida. Requisições com falha nunca são cobradas. 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
/transcript1 créditoObtém a transcrição de um vídeo do YouTube, com metadados (título, canal, miniatura).
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
v | Sim | ID do vídeo ou URL completa do YouTube |
language | Não | Código do idioma (padrão: en) |
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",
"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
}
}/search1 crédito / páginaBusca vídeos do YouTube com filtros e paginação.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
q | Sim | Termo de busca (mínimo de 2 caracteres) |
country | Não | Código de país de 2 letras (padrão: us) |
language | Não | Código do idioma (padrão: en) |
page_token | Não | O pagination.next_page_token da resposta anterior, para buscar a próxima página |
limit | Não | Má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": "..." } } ],
"pagination": { "next_page_token": "..." }
}
}/resolveGrátisResolve 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âmetro | Obrigatório | Descrição |
|---|---|---|
handle | Sim | ID 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": "scrape"
}
}/playlist1 crédito / páginaObtém os vídeos de uma playlist. Atualmente retorna apenas a primeira página - has_more indica se há mais vídeos, mas buscar páginas adicionais ainda não é suportado.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
list | Sim | ID ou URL da playlist |
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
}
}Erros
Os erros retornam um corpo JSON com um campo code estável para uso condicional, além do status HTTP:
| Status | Código | Significado |
|---|---|---|
| 400 | BAD_REQUEST | Parâmetro ausente ou inválido |
| 401 | MISSING_API_KEY / INVALID_API_KEY | Nenhuma chave fornecida, ou chave inválida/revogada |
| 402 | PAYMENT_REQUIRED | Sem créditos - compre um top-up ou faça upgrade |
| 404 | VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUND | Vídeo ou recurso não encontrado |
| 429 | RATE_LIMITED | Muitas requisições para o seu plano |
| 503 | UPSTREAM_UNAVAILABLE | Problema temporário no serviço upstream - seguro para tentar novamente |
Em breve
Busca dentro de um canal, listagem de todos os vídeos de um canal e paginação completa de playlists estão em desenvolvimento. O rastreamento de novos uploads via RSS está temporariamente indisponível devido a um problema não relacionado do lado do YouTube.
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.