YouTube Trending API — Популярни видеа по регион | YEB

Извлечете най-популярните трендови YouTube видеа за всяка държава или категория в реално време. Наблюдавайте вирусно съдържание, проследявайте регионални тенденции и захранвайте фийдове за откриване с живи трендови данни.

Какво можете да правите?
Дневен списък с популярни видеа

Извлечете официалния списък "Най-популярни" директно от YouTube.

Филтриране по държава

Посочете произволен ISO-3166 код на държава (US, GB, BG...).

Категория и лимит

Стеснете до Музика (10), Гейминг (20) и още, максимум 50 резултата.

Изпробвай на живо
99.9 % Време на работа
80.9ms Отговор
20 req/s
0.01 Кредити / заявка

Trending List


POST https://api.yeb.to/v1/youtube/trending
ПараметърТипЗадл.Описание
api_key string да Your API key
country string опц ISO-3166 code (default US)
category int опц YouTube category ID (e.g. 10 = Music)
limit int опц 1-50 results (default 20)

Пример

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
}'

Пример за отговор

{
  "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}

Кодове на отговор

КодОписание
200 SuccessЗаявката е обработена успешно.
400 Bad RequestНеуспешна валидация на входните данни.
401 UnauthorizedЛипсващ / грешен API ключ.
403 ForbiddenКлючът е неактивен или без достъп.
429 Rate LimitТвърде много заявки.
500 Server ErrorНеочаквана грешка.

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

                

YouTube Trending API — Популярни видеа по регион | YEB — 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.

Често задавани въпроси

YouTube обновява списъка приблизително на всеки 15 минути; API-то показва актуалните данни в момента на заявката.

Те са числови: 10 = Музика, 17 = Спорт, 20 = Гейминг, 24 = Забавление и т.н. Вижте документацията на YouTube Data API за пълната таблица.

Да. Всяка заявка, дори тази с грешка, изразходва кредити. Това е така, защото кредитите ви са обвързани с броя заявки, независимо от успеха или неуспеха. Ако грешката е ясно по наша вина, ще възстановим засегнатите кредити (без парично възстановяване).

Свържете се с нас на [email protected]. Приемаме обратната връзка сериозно — ако докладът ви за бъг или заявката за функционалност е смислена, можем да поправим или подобрим API-то бързо и да ви предоставим 50 безплатни кредита като благодарност.

Зависи от API-то и понякога дори от конкретната крайна точка. Някои крайни точки използват данни от външни източници, които може да имат по-строги ограничения. Ние също налагаме лимити за предотвратяване на злоупотреби и поддържане стабилността на платформата. Проверете документацията за конкретния лимит на всяка крайна точка.

Работим на кредитна система. Кредитите са предплатени, невъзстановими единици, които изразходвате за API извиквания и инструменти. Кредитите се изразходват FIFO (първи закупен, първи използван) и са валидни 12 месеца от датата на покупка. Таблото показва датата на покупка и изтичането на всяка покупка.

Да. Всички закупени кредити (включително дробни баланси) са валидни 12 месеца от покупката. Неизползваните кредити автоматично изтичат и се изтриват окончателно в края на периода на валидност. Изтеклите кредити не могат да бъдат възстановени или конвертирани в пари или друга стойност. Преходно правило: кредити, закупени преди 22 септ. 2025 г., се третират като закупени на 22 септ. 2025 г. и изтичат на 22 септ. 2026 г. (освен ако не е посочено по-ранно изтичане при покупката).

Да — в рамките на периода им на валидност. Неизползваните кредити остават налични и се прехвърлят от месец на месец, докато не изтекат 12 месеца след покупката.

Кредитите са невъзстановими. Купувайте само каквото ви трябва — винаги можете да заредите по-късно. Ако грешка от наша страна причини неуспешно таксуване, може да възстановим засегнатите кредити след проверка. Без парично възстановяване.

Цените са определени в кредити, не в долари. Всяка крайна точка посочва собствената си цена — вижте бадж „Кредити / заявка" по-горе. Винаги ще знаете точно колко изразходвате.
← Обратно към API-тата