API de Tendências do YouTube

Obtenha vídeos "mais populares" para qualquer país ou categoria em tempo real.

O que pode fazer?
Obtenha o feed diário de tendências

Puxe a lista oficial "Mais Populares" diretamente do YouTube.

Filtre por qualquer país

Especifique qualquer código de país ISO-3166 (US, GB, IN...).

Opções de categoria e limite

Restrinja a Música (10), Gaming (20) e mais, máximo de 50 resultados.

Experimentar ao vivo
99.9 % Disponibilidade
80.9ms Resposta
20 req/s
0.01 Créditos / requisição

Trending List


POST https://api.yeb.to/v1/youtube/trending
ParâmetroTipoObrig.Descrição
api_key string sim Your API key
country string opc. ISO-3166 code (default US)
category int opc. YouTube category ID (e.g. 10 = Music)
limit int opc. 1-50 results (default 20)

Exemplo

curl -X POST https://api.yeb.to/v1/youtube/trending \
  -H "Content-Type: application/json" \
  -d '{
  "api_key":  "YOUR_KEY",
  "country":  "GB",
  "category": "10",
  "limit":    25
}'

Exemplo de resposta

{
  "data": {
    "country":     "GB",
    "category":    "10",
    "cnt_results": 1,
    "videos": [
      {
        "id":           "abc123XYZ",
        "title":        "Top UK Hit 2025",
        "description":  "Official video…",
        "channelId":    "UCmusic",
        "channelTitle": "HitsNow",
        "publishedAt":  "2025-07-06T17:01:02Z",
        "categoryId":   "10",
        "durationISO":  "PT3M12S",
        "viewCount":    4500000,
        "likeCount":    128000,
        "commentCount": 9800,
        "thumb":        "https://i.ytimg.com/vi/abc123XYZ/hqdefault.jpg"
      }
    ]
  }
}
{"error":"Invalid country code. Use ISO 3166-1 alpha-2 format.","code":400}

Códigos de resposta

CódigoDescrição
200 SuccessRequisição processada OK.
400 Bad RequestValidação de entrada falhou.
401 UnauthorizedChave API em falta ou incorreta.
403 ForbiddenChave inativa ou não permitida.
429 Rate LimitDemasiadas requisições.
500 Server ErrorErro inesperado.

Trending List

youtube/trending 0.0100 credits

Parameters

API Key
body · string · required
Country
body · string
Category
body · string
Limit
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

API de Tendências do YouTube — Practical Guide

A hands-on guide to building “what’s hot now” experiences with YouTube Trending: when to use it, the few parameters that matter, how to read the payload, and how to turn results into cards, playlists, and editorial blocks.

#What YouTube Trending solves

youtube/trending gives a live snapshot of the most popular videos per country, optionally focused on a specific YouTube category (e.g., 10 = Music). Use it for landing pages, auto-curated playlists, “Top Today” widgets, and weekly editorial picks.

#Endpoint & when to use it

  • Best for: Country dashboards, “New & Hot” rows, music-only charts (category=10).
  • Output: Compact list of videos with id, title, channelId/channelTitle, publishedAt, categoryId, durationISO, counts, and a ready-to-use thumb.
  • Tip: Cache per country for 5–10 minutes to reduce feed jitter and API costs.

#Quick start

# GB Music — Top 25
curl -X POST "https://api.yeb.to/v1/youtube/trending" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{
    "country":  "GB",
    "category": "10",
    "limit":    25
  }'
# US default — Mixed categories, 12 items
curl -X POST "https://api.yeb.to/v1/youtube/trending" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{ "limit": 12 }'

#Parameters that actually matter

ParamTypeRequiredPractical guidance
api_key string Yes Your API credential. Keep it server-side or use a signed token at the edge.
country string No ISO-3166-1 alpha-2 (e.g., US, GB, DE). Defaults to US. Match your site’s locale.
category int No YouTube category ID. Use 10 for Music. See the YouTube ID reference.
limit int No 1–50 (default 20). Trim to your UI grid (e.g., 8, 12, 24).

#Reading & acting on responses

{
  "data": {
    "country": "GB",
    "category": "10",
    "cnt_results": 1,
    "videos": [
      {
        "id":           "abc123XYZ",
        "title":        "Top UK Hit 2025",
        "description":  "Official video…",
        "channelId":    "UCmusic",
        "channelTitle": "HitsNow",
        "publishedAt":  "2025-07-06T17:01:02Z",
        "categoryId":   "10",
        "durationISO":  "PT3M12S",
        "viewCount":    4500000,
        "likeCount":    128000,
        "commentCount": 9800,
        "thumb":        "https://i.ytimg.com/vi/abc123XYZ/hqdefault.jpg"
      }
    ]
  }
}
  • id — YouTube Video ID. Build links: https://www.youtube.com/watch?v={id}.
  • channelId — Channel ID for badges or deep links: https://www.youtube.com/channel/{channelId}.
  • thumb — Ready “high” thumbnail. Derive sizes via i.ytimg.com/vi/{id}/….
  • durationISO — ISO-8601 (PT#M#S). Convert to mm:ss labels for cards.
  • publishedAt — UTC timestamp. Show “NEW” if < 72h old.
  • viewCount — Snapshot for social proof; trending is volatile, don’t over-sort by it alone.
PHP helper — ISO-8601 duration → mm:ss
$int = new DateInterval('PT3M12S'); $sec = $int->h*3600 + $int->i*60 + $int->s; $label = sprintf('%02d:%02d', floor($sec/60), $sec%60);

#Practical recipes

  • Music-only grid: Call with {"country":"DE","category":10,"limit":12}. Render thumb, title, channel, mm:ss, and a small views chip.
  • Weekly editorial: Cache by country for 7 days, but refresh every hour to catch breakouts; pin manually selected IDs on top.
  • Playlist builder: De-dupe by channelId to avoid stacking multiple uploads from the same channel.
  • Edge caching: Key on country + category; TTL 300–600s keeps UIs stable without feeling stale.

#YouTube IDs you’ll work with

FieldWhat it isHow to use
id (Video ID) 11-char video identifier Watch URL: https://www.youtube.com/watch?v={id} · Thumbs: https://i.ytimg.com/vi/{id}/hqdefault.jpg
channelId Channel identifier Channel URL: https://www.youtube.com/channel/{channelId}
categoryId Numeric category See common IDs below; 10 = Music

#Common YouTube Category IDs

IDCategory
1Film & Animation
2Autos & Vehicles
10Music
17Sports
20Gaming
22People & Blogs
23Comedy
24Entertainment
25News & Politics
26Howto & Style
27Education
28Science & Technology
29Nonprofits & Activism

Availability of categories can vary by region; 10 is universally safe for music use-cases.

#Errors & troubleshooting

  • 400 "Invalid country code. Use ISO 3166-1 alpha-2 format." — Two uppercase letters (e.g., US, GB).
  • 400 "Invalid category. Must be a numeric YouTube category ID." — Provide an integer like 10.
  • 502 "YouTube API error: …" — Upstream hiccup. Retry with exponential backoff (1s → 2s → 4s) and respect quotas.

#API Changelog (youtube/trending)

2026-03-07
Field guidance added. Practical notes for id, channelId, durationISO, and thumb; added YouTube ID reference section.
2026-03-07
Category docs. Clarified category=10 for Music and listed common Category IDs for quick selection.
2026-02-21
Unified wrapper. Standardized the top-level payload to {"data":{...}} and added cnt_results.
2026-02-14
Error surface. Consistent 400 validation (country, category) and 502 for upstream YouTube failures.

Perguntas Frequentes

O YouTube atualiza a lista aproximadamente a cada 15 minutos; a API exibe o que está ao vivo no momento da requisição.

São numéricos: 10 = Música, 17 = Esportes, 20 = Gaming, 24 = Entretenimento, etc. Consulte a documentação do YouTube Data API para a tabela completa.

Sim. Cada requisição, mesmo as que resultam em erros, consome créditos. Seus créditos estão vinculados ao número de requisições, independentemente de sucesso ou falha. Se o erro for claramente devido a um problema da plataforma do nosso lado, restauraremos os créditos afetados (sem reembolsos em dinheiro).

Contacte-nos em [email protected]. Levamos o feedback a sério—se o seu relatório de bug ou pedido de funcionalidade for significativo, podemos corrigir ou melhorar a API rapidamente e conceder-lhe 50 créditos gratuitos como agradecimento.

Depende da API e às vezes até do endpoint. Alguns endpoints usam dados de fontes externas, que podem ter limites mais rigorosos. Também aplicamos limites para prevenir abusos e manter a nossa plataforma estável. Consulte a documentação para o limite específico de cada endpoint.

Operamos com um sistema de créditos. Créditos são unidades pré-pagas e não reembolsáveis que gasta em chamadas API e ferramentas. Os créditos são consumidos por FIFO (os mais antigos primeiro) e são válidos por 12 meses a partir da data de compra. O painel mostra cada data de compra e a sua expiração.

Sim. Todos os créditos comprados (incluindo saldos fracionários) são válidos por 12 meses a partir da compra. Créditos não utilizados expiram automaticamente e são permanentemente eliminados no final do período de validade. Créditos expirados não podem ser restaurados ou convertidos em dinheiro ou outro valor. Regra de transição: créditos comprados antes de 22 de set. de 2025 são tratados como comprados em 22 de set. de 2025 e expiram em 22 de set. de 2026 (salvo indicação de expiração anterior na compra).

Sim—dentro do período de validade. Os créditos não utilizados permanecem disponíveis e são transferidos de mês para mês até expirarem 12 meses após a compra.

Os créditos são não reembolsáveis. Compre apenas o que precisa—pode sempre recarregar depois. Se um erro da plataforma causar uma cobrança falhada, podemos restaurar os créditos afetados após investigação. Sem reembolsos em dinheiro.

Os preços são definidos em créditos, não em dólares. Cada endpoint tem o seu próprio custo—veja o selo "Créditos / requisição" acima. Saberá sempre exatamente quanto está a gastar.
← Voltar às APIs