API trendów YouTube

Pobierz "najpopularniejsze" filmy dla dowolnego kraju lub kategorii w czasie rzeczywistym.

Co możesz zrobić?
Pobierz dzienny feed trendów

Pobierz oficjalną listę "Najpopularniejsze" bezpośrednio z YouTube.

Filtruj według dowolnego kraju

Określ dowolny kod kraju ISO-3166 (US, GB, IN...).

Opcje kategorii i limitu

Zawęź do Muzyki (10), Gamingu (20) i więcej, maksymalnie 50 wyników.

Wypróbuj na żywo
99.9 % Dostępność
80.9ms Odpowiedź
20 req/s
0.01 Kredyty / żądanie

Trending List


POST https://api.yeb.to/v1/youtube/trending
ParametrTypWymaganyOpis
api_key string tak Your API key
country string opcjonalny ISO-3166 code (default US)
category int opcjonalny YouTube category ID (e.g. 10 = Music)
limit int opcjonalny 1-50 results (default 20)

Przykład

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

Przykład odpowiedzi

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

Kody odpowiedzi

KodOpis
200 SuccessŻądanie przetworzone OK.
400 Bad RequestWalidacja danych wejściowych nie powiodła się.
401 UnauthorizedBrakujący / nieprawidłowy klucz API.
403 ForbiddenKlucz nieaktywny lub niedozwolony.
429 Rate LimitZbyt wiele żądań.
500 Server ErrorNieoczekiwany błąd.

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 trendów 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.

Często zadawane pytania

YouTube sam odświeża listę mniej więcej co 15 minut; API wyświetla to, co jest aktualne w momencie żądania.

Są numeryczne: 10 = Muzyka, 17 = Sport, 20 = Gaming, 24 = Rozrywka itp. Zobacz dokumentację YouTube Data API po pełną tabelę.

Tak. Każde żądanie, nawet te zakończone błędem, zużywa kredyty. Twoje kredyty są powiązane z liczbą żądań, niezależnie od sukcesu lub niepowodzenia. Jeśli błąd jest wyraźnie spowodowany problemem platformy po naszej stronie, przywrócimy dotknięte kredyty (bez zwrotów gotówkowych).

Skontaktuj się z nami pod adresem [email protected]. Traktujemy opinie poważnie—jeśli Twój raport o błędzie lub prośba o funkcję jest sensowna, możemy szybko naprawić lub ulepszyć API i przyznać Ci 50 darmowych kredytów w podziękowaniu.

Zależy od API, a czasem nawet od endpointu. Niektóre endpointy korzystają z danych ze źródeł zewnętrznych, które mogą mieć surowsze limity. Wprowadzamy też limity, aby zapobiec nadużyciom i utrzymać stabilność platformy. Sprawdź dokumentację, aby poznać konkretny limit dla każdego endpointu.

Działamy w systemie kredytowym. Kredyty to przedpłacone, bezzwrotne jednostki, które wydajesz na wywołania API i narzędzia. Kredyty są zużywane metodą FIFO (najstarsze najpierw) i są ważne przez 12 miesięcy od daty zakupu. Panel wyświetla datę każdego zakupu i jego wygaśnięcia.

Tak. Wszystkie zakupione kredyty (w tym ułamkowe salda) są ważne przez 12 miesięcy od zakupu. Niewykorzystane kredyty automatycznie wygasają i są trwale usuwane na koniec okresu ważności. Wygasłych kredytów nie można przywrócić ani zamienić na gotówkę lub inną wartość. Reguła przejściowa: kredyty zakupione przed 22 wrz. 2025 traktowane są jako zakupione 22 wrz. 2025 i wygasają 22 wrz. 2026 (chyba że przy zakupie podano wcześniejszą datę wygaśnięcia).

Tak—w ramach okresu ważności. Niewykorzystane kredyty pozostają dostępne i są przenoszone z miesiąca na miesiąc, aż wygasną 12 miesięcy po zakupie.

Kredyty są bezzwrotne. Kupuj tylko to, czego potrzebujesz—zawsze możesz doładować później. Jeśli błąd platformy spowoduje nieudane obciążenie, możemy przywrócić dotknięte kredyty po zbadaniu sprawy. Bez zwrotów gotówkowych.

Ceny są ustalane w kredytach, nie w dolarach. Każdy endpoint ma własną cenę—zobacz odznakę „Kredyty / żądanie" powyżej. Zawsze będziesz dokładnie wiedzieć, ile wydajesz.
← Powrót do API