Vídeo · YouTube
API scraper de comentários do YouTube
API scraper de comentários 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
É nos comentários que o público de um vídeo realmente responde, e um vídeo como Despacito tem mais de quatro milhões deles. A API de comentários do YouTube da everydata.io é um scraper de comentários para qualquer vídeo público: ela lê a seção de comentários – por ID ou URL – e a retorna como JSON estruturado: o texto do comentário, quem o escreveu e se esse autor é verificado ou é o criador, quantos likes e respostas ele tem, se o criador deu coração ou fixou o comentário, e um cursor para buscar as respostas abaixo dele. A paginação é baseada em cursor, como a rolagem infinita do próprio YouTube, para que você possa baixar os comentários de um vídeo página por página, e não exige credenciais nem unidades de cota do Google.
- Plataforma
- YouTube
- Endpoint principal
- /youtube-video-comments
- 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-comments retorna videoId e um array comments[]. Cada item traz commentId, text, publishedTimeText (o rótulo relativo do YouTube, como "2 days ago" ou "4 months ago"), authorName no formato @handle, authorChannelId, authorThumbnail, os booleanos authorIsVerified e authorIsCreator, likeCount como inteiro com likeCountText para o rótulo arredondado, replyCount, isHearted, isPinned e replyLevel (0 para um comentário de primeiro nível, 1 para uma resposta).
As threads são tratadas por cursores. A resposta de primeiro nível contém uma string cursor para a próxima página de comentários; cada comentário com respostas também traz o seu próprio repliesCursor. Passe qualquer um desses valores como parâmetro cursor em uma chamada seguinte para ir mais fundo – o mesmo id, outro cursor. Como a seção é buscada na página pública, a ordem segue o que o YouTube mostra por padrão (Principais comentários), com os comentários fixados primeiro.
- commentId, text e publishedTimeText para cada comentário
- authorName, authorChannelId, authorThumbnail, além das flags authorIsVerified e authorIsCreator
- likeCount e replyCount como inteiros; likeCountText para exibição
- isHearted e isPinned para identificar o engajamento do criador e avisos fixados
- replyLevel e repliesCursor por comentário para expandir as threads de respostas
- Cursor de primeiro nível para paginação contínua por toda a seção de comentários
- ID do vídeo ou qualquer URL do YouTube aceitos; languageCode e countryCode para renderização localizada
O que equipes criam com isso
Análise de sentimento e de temas
Busque os principais comentários do vídeo de lançamento de um produto ou de um anúncio, passe-os por um classificador e reporte as mudanças de sentimento ao longo do tempo – incluindo as respostas via repliesCursor.
Insights sobre a comunidade de criadores
Agências coletam isHearted, isPinned e authorIsCreator para medir o quanto um criador interage com o público em comparação com seus pares.
Verificações de brand safety e moderação
Antes de fechar patrocínios, analise os comentários recentes em busca de toxicidade ou padrões de spam e verifique se o criador modera (avisos fixados, respostas com coração).
Pesquisa de público
Extraia o conjunto de authorChannelId dos comentários em um nicho para estimar a sobreposição entre os públicos ativos dos canais.
Requisição e resposta de exemplo
Chame o endpoint com o id do vídeo e sem cursor para obter a primeira página. Identificadores que você talvez já tenha – o videoId do endpoint de detalhes do vídeo ou de um resultado de busca – funcionam diretamente. O exemplo abaixo mostra os dois primeiros comentários de Despacito; repare na conta verificada @YouTube respondendo ao marco de 9 bilhões de visualizações.
GET /ytb/youtube-video-comments
curl "https://api.everydata.io/ytb/youtube-video-comments?id=kJQP7kiw5Fk&languageCode=en&countryCode=US" \
-H "x-api-key: YOUR_API_KEY"Resposta (resumida)
{
"responseStatus": "PAGE_FOUND",
"responseMessage": "Page successfully found!",
"videoId": "kJQP7kiw5Fk",
"comments": [
{
"commentId": "UgzKrZFVw83H4eLGQWR4AaABAg",
"text": "17 september despacito ? 😂😂😂",
"publishedTimeText": "2 days ago",
"authorName": "@IRAQ2025_iraqia",
"authorChannelId": "UCk9iiXHQBA6oC0WsAmaOsIg",
"authorIsVerified": false,
"authorIsCreator": false,
"likeCount": 979,
"likeCountText": "979",
"replyCount": 67,
"isHearted": false,
"isPinned": false,
"replyLevel": 0,
"repliesCursor": "Eg0SC2tKUVA3a2l3NUZrGAYygwEaUBIaVWd6S3JaRlZ3ODNINGVMR1FXUjRBYUFCQWciAggAKhhVQ0xw…"
},
{
"commentId": "UgzZfEnq23bUSeNQLX54AaABAg",
"text": "who's here after 9 billion??",
"publishedTimeText": "4 months ago",
"authorName": "@YouTube",
"authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ",
"authorIsVerified": true,
"authorIsCreator": false,
"likeCount": 83000,
"likeCountText": "83K",
"replyCount": 973,
"isHearted": false,
"isPinned": false,
"replyLevel": 0,
"repliesCursor": "Eg0SC2tKUVA3a2l3NUZrGAYygwEaUBIaVWd6WmZFbnEyM2JVU2VOUUxYNTRBYUFCQWciAggAKhhVQ0xw…"
}
],
"cursor": "Eg0SC2tKUVA3a2l3NUZrGAYylAMK1wJnZXRfcmFua2VkX3N0cmVhbXMtLUNxWUJDSUFFRlJlMzBUZ2Ftd0VLbGdFSTJGOFFnQVFZQnlLTEFYdEVnQ3FZVmZxMUJJajhxRDlySm9XX1lxb19IaU5YbWJNZGxDZHJ5c1VIaHJBU2s2UUlnV2xVdTMxdzhTaVpxaG1ZblF…"
}A paginação funciona em dois eixos. O cursor de primeiro nível avança pela seção de comentários – envie-o de volta como ?id=kJQP7kiw5Fk&cursor=… para receber o próximo lote e pare quando a resposta não tiver cursor. O repliesCursor de um comentário abre a thread dele: passe-o como parâmetro cursor, e os comments[] retornados contêm as respostas com replyLevel 1. Cursores são tokens opacos vinculados ao vídeo; guarde-os apenas durante um crawl.
publishedTimeText é um rótulo relativo, porque é só isso que o YouTube exibe na seção de comentários. Se você precisar de datas absolutas, registre o horário da sua requisição e converta "2 days ago" do seu lado. likeCount é exato para números pequenos; para contagens grandes, o YouTube mostra um valor arredondado (83K), e likeCount reflete esse arredondamento, como se vê no segundo comentário do exemplo.
Vídeos com comentários desativados retornam um array comments[] vazio com PAGE_FOUND, e não um erro. Vídeos privados ou removidos retornam 404. Conte com cerca de 20 comentários por página; um crawl completo de um vídeo com 4,3 milhões de comentários, portanto, não é algo para fazer sem pensar – a maioria das análises usa uma amostra das primeiras centenas de comentários principais mais as respostas dos que têm mais likes.
Endpoints relacionados
Comentários do vídeo. Comentários paginados.
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.
Pague por requisição, todas as plataformas incluídas
Cada página de comentários – de primeiro nível ou de respostas – é uma requisição. Amostrar as cinco primeiras páginas de 200 vídeos custa 1.000 requisições, bem dentro do plano Starter (5.000 requisições, € 30). Estudos maiores cabem no Production (50.000, € 80), com 100 requisições por minuto, então um crawl de 50 páginas de um vídeo leva menos de um minuto. Buscas com falha na origem não são cobradas.
- Free
- 100 req. / mês
- Starter
- 5.000 req. · € 30
- Production
- 50.000 req. · € 80
- Business
- 300.000 req. · € 300
API scraper de comentários do YouTube: perguntas frequentes
Como busco as respostas de um comentário específico?
Pegue o repliesCursor desse comentário e chame o mesmo endpoint com id e com cursor definido como esse valor. Os comments[] retornados contêm as respostas com replyLevel 1 e, se a thread for longa, mais um cursor.
Posso ordenar os comentários pelos mais recentes em vez dos principais?
O endpoint retorna a ordem que o YouTube exibe publicamente por padrão – Principais comentários, com os fixados primeiro. A ordenação pelos mais recentes não está disponível como parâmetro.
Há timestamps exatos para os comentários?
Não. O YouTube mostra apenas rótulos relativos na seção de comentários (publishedTimeText, como "2 days ago"). Registre o horário da busca e calcule uma data absoluta aproximada, se precisar.
O que acontece quando os comentários estão desativados?
Você recebe responseStatus PAGE_FOUND com um array comments[] vazio e sem cursor. Esse é o sinal confiável de que o criador desativou os comentários do vídeo.
Fazer scraping de comentários do YouTube é permitido?
A everydata.io retorna apenas comentários visíveis publicamente, sem fazer login nem contornar qualquer restrição. Textos de comentários e nomes de autores são dados pessoais em muitas jurisdições, então agregue e anonimize os dados para análises em vez de republicar threads.
Casos de uso relacionados
Leia sua primeira thread de comentários
Cadastre-se gratuitamente, chame GET /ytb/youtube-video-comments?id=kJQP7kiw5Fk e percorra as respostas com o cursor – sem credenciais do Google.