20 % de desconto em todos os planos pagos com o código

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
O que você recebe

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
Casos de uso

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.

Como funciona

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)

200 OK · application/json
{
  "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

GET/ytb/youtube-video-details

Detalhes do vídeo. Metadados de um vídeo por ID ou URL.

GET/ytb/youtube-search-videos

Buscar vídeos. Busca por palavra-chave com paginação por cursor.

GET/ytb/youtube-video-related-contents

Vídeos relacionados. Conteúdo relacionado a um vídeo.

GET/ytb/youtube-trending-videos

Em alta. Vídeos em alta.

Referência completa da API
Preços

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.

Relacionados

Casos de uso relacionados

Todos os casos de uso

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.