Vídeo · YouTube
API de dados de vídeos do YouTube
API de dados de vídeos do YouTube: dados ao vivo de YouTube no momento em que você pede, limpos e estruturados – prontos para seu próprio app, uma planilha ou um assistente de IA. Sem scraping, nada para manter.
100 requisições grátis por mês · sem cartão de crédito · uma chave de API para todas as plataformas
Fatos principais
Atualizado em
Toda página de vídeo do YouTube traz um bloco rico de metadados públicos: título e descrição, o canal por trás do vídeo, totais de visualizações, likes e comentários, data de publicação, duração, categoria, tags de palavras-chave, thumbnails e as faixas de legenda disponíveis. A API de dados de vídeos do YouTube da everydata.io retorna esse bloco como um único objeto JSON para qualquer ID ou URL de vídeo. Não há tela de consentimento OAuth, nem projeto no Google Cloud, nem cota diária de unidades para racionar – apenas um GET HTTPS com a sua chave da everydata.io, respondido a partir da página ao vivo.
- Plataforma
- YouTube
- Endpoint principal
- /youtube-video-details
- Cota por chamada
- 1 requisição
- Plano gratuito
- 100 req. / mêsdepois, a partir de € 30 / mês
Dados de YouTube, prontos para usar
GET /ytb/youtube-video-details aceita em id um ID de vídeo puro (kJQP7kiw5Fk), um link curto youtu.be ou uma URL completa de watch, então você pode enviar o que quer que seus usuários colem. A resposta traz videoId, title, description, channelId, channelName, channelUrl e subscriberCountText de quem publicou e, em seguida, os números de engajamento como inteiros: viewCount, likeCount e commentCount, com likeCountText para o valor arredondado exibido. publishedAt e uploadDate são timestamps ISO com fuso, duration vem em segundos, com durationText no formato m:ss, e category, keywords e tags trazem a classificação escolhida por quem publicou.
Flags booleanas descrevem o estado do vídeo: isLive, isLiveNow, isFamilySafe, isUnlisted, isPrivate, isShortsEligible e allowRatings. availableCountries lista onde a reprodução é permitida, embedUrl está pronto para um iframe e captions[] contém todas as faixas de legenda com languageCode, name e isTranslatable.
- ID do vídeo, link youtu.be ou URL completa de watch aceitos no mesmo parâmetro id
- viewCount, likeCount, commentCount como inteiros simples, além das variantes legíveis *Text
- publishedAt, uploadDate, duration, durationText, category, keywords[] e tags[]
- Contexto do canal na mesma resposta: channelId, channelName, channelUrl, channelThumbnails, subscriberCountText
- Flags de status: isLive, isLiveNow, isFamilySafe, isUnlisted, isPrivate, isShortsEligible, allowRatings
- thumbnails[] em vários tamanhos, embedUrl, availableCountries[] e captions[] com idioma e possibilidade de tradução
- Endpoints complementares para busca por palavra-chave, vídeos relacionados e em alta – todos paginados por cursor, sem chave de API do Google
O que equipes criam com isso
Relatórios de influenciadores e campanhas
Busque viewCount, likeCount e commentCount de vídeos patrocinados em um agendamento e trace a curva a partir da data de publicação – sem orçamento de unidades para dividir entre clientes.
Monitoramento de conteúdo e brand safety
Resolva cada URL que um usuário envia, armazene title, channelName, category e isFamilySafe e sinalize, pela resposta 404, os vídeos que depois ficam privados ou não listados.
Acompanhamento de buscas e tendências
Rode diariamente a mesma palavra-chave em youtube-search-videos com diferentes valores de countryCode e meça quais canais e formatos dominam os resultados em cada mercado.
Prévias de links e embeds
Transforme um link do YouTube colado em um card com thumbnail, título, canal e duração, e incorpore com embedUrl – o caso de uso clássico do oEmbed sem credenciais do Google.
Requisição e resposta de exemplo
Uma única chamada retorna o bloco inteiro da página do vídeo; o exemplo usa Despacito, então os contadores são reais e grandes. Para descoberta, GET /ytb/youtube-search-videos?query=lofi+hip+hop retorna items[] com videoId, title, channelName, viewCount, duration e isLive, além de um cursor; /ytb/youtube-video-related-contents lista as recomendações da barra lateral de um vídeo, e /ytb/youtube-trending-videos retorna a aba Em alta.
GET /ytb/youtube-video-details
curl "https://api.everydata.io/ytb/youtube-video-details?id=kJQP7kiw5Fk&languageCode=en&countryCode=US" \
-H "x-api-key: YOUR_API_KEY"Resposta (resumida)
{
"responseStatus": "PAGE_FOUND",
"responseMessage": "Page successfully found!",
"videoId": "kJQP7kiw5Fk",
"title": "Luis Fonsi - Despacito ft. Daddy Yankee",
"channelId": "UCLp8RBhQHu9wSsq62j_Md6A",
"channelName": "LuisFonsiVEVO",
"subscriberCountText": "32.5M subscribers",
"viewCount": 9125159593,
"likeCount": 56673581,
"likeCountText": "56M",
"commentCount": 4300000,
"publishedAt": "2017-01-12T21:00:02-08:00",
"duration": 282,
"durationText": "4:42",
"category": "Music",
"keywords": [
"Luis",
"Fonsi"
],
"tags": [
"Calypso",
"Despacito"
],
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/kJQP7kiw5Fk/hqdefault.jpg",
"width": 168,
"height": 94
}
],
"isLive": false,
"isFamilySafe": true,
"embedUrl": "https://www.youtube.com/embed/kJQP7kiw5Fk"
}responseStatus é PAGE_FOUND quando a página do vídeo foi renderizada. Um vídeo privado, excluído ou bloqueado na região gera um 404 com corpo vnd.error em vez de um objeto preenchido pela metade, então verifique o status HTTP antes de fazer o parsing. viewCount é o número exato da página no momento da requisição; o próprio YouTube o atualiza com um pequeno atraso, então duas chamadas com minutos de diferença podem retornar o mesmo número para vídeos com pouco movimento.
As respostas de busca e de conteúdos relacionados são paginadas com uma string de cursor opaca. Passe o valor de cursor de uma resposta como parâmetro cursor da próxima chamada para continuar; omita-o na primeira página. Cada página é uma requisição. estimatedResults na busca é o total aproximado do próprio YouTube, não uma garantia de quantas páginas você consegue percorrer.
languageCode e countryCode (padrões en, US) influenciam o que o YouTube renderiza: títulos localizados quando quem publicou forneceu traduções, e a lista de vídeos em alta do país. Toda requisição é em tempo real; não há cacheTtl nos endpoints do YouTube, porque os contadores mudam o tempo todo.
Endpoints relacionados
Detalhes do vídeo. Metadados de um vídeo por ID ou URL.
Buscar vídeos. Busca por palavra-chave com paginação por cursor.
Vídeos relacionados. Conteúdo relacionado a um vídeo.
Em alta. Vídeos em alta.
Pague por requisição, todas as plataformas incluídas
Uma chamada de detalhes de vídeo, uma página de busca ou uma página de conteúdos relacionados equivale a uma requisição. Como não há uma cota separada do Google, o único limite é o seu plano da everydata.io: as 100 requisições por mês do plano gratuito bastam para um teste de integração; o Starter (5.000 requisições, € 30) acompanha cerca de 160 vídeos por dia; o Production (50.000, € 80) suporta relatórios em escala de agência para centenas de canais. Erros 5xx no site de origem nunca são descontados.
- Free
- 100 req. / mês
- Starter
- 5.000 req. · € 30
- Production
- 50.000 req. · € 80
- Business
- 300.000 req. · € 300
API de dados de vídeos do YouTube: perguntas frequentes
Preciso de uma chave de API do Google ou de um token OAuth?
Não. As requisições são autenticadas apenas com a sua chave da everydata.io. Os dados vêm das páginas públicas de vídeo, busca e canal do YouTube, então não há projeto no Google Cloud, fluxo de consentimento nem cota diária de 10.000 unidades envolvidos.
Quais formatos de id são aceitos?
O ID de vídeo de 11 caracteres, um link curto youtu.be, uma URL completa www.youtube.com/watch?v= e URLs de Shorts. O mesmo parâmetro id aceita todos eles; a resposta sempre contém o videoId normalizado.
Consigo obter o número de dislikes ou estatísticas de tempo de exibição?
Não. O YouTube removeu a contagem pública de dislikes em 2021, e o tempo de exibição só fica visível para o dono do canal no YouTube Studio. A API retorna os contadores públicos: viewCount, likeCount e commentCount.
Como percorro as páginas dos resultados de busca?
Cada resposta de busca inclui uma string cursor. Envie-a de volta como parâmetro cursor para buscar a próxima página e continue até que nenhum cursor seja retornado. As páginas costumam ter cerca de 20 itens, incluindo transmissões ao vivo marcadas com isLive.
Vídeos com restrição de idade ou privados são suportados?
Vídeos privados retornam 404, porque a página deles não é pública. Vídeos com restrição de idade retornam metadados quando o YouTube os expõe sem login; quando a página exige login, a chamada também retorna 404.
Casos de uso relacionados
Consulte seu primeiro vídeo
Crie uma conta gratuita e chame GET /ytb/youtube-video-details?id=kJQP7kiw5Fk – metadados completos em uma única resposta JSON, 100 requisições por mês por nossa conta.