API Trending YouTube

Ambil video "paling populer" untuk negara atau kategori apa pun secara real-time.

Apa yang bisa Anda lakukan?
Ambil feed trending harian

Tarik daftar resmi "Paling Populer" langsung dari YouTube.

Filter berdasarkan negara

Tentukan kode negara ISO-3166 apa pun (US, GB, IN...).

Opsi kategori & batas

Persempit ke Musik (10), Gaming (20) & lainnya, maks 50 hasil.

Coba Langsung
99.9 % Waktu Aktif
80.9ms Respons
20 req/s
0.01 Kredit / permintaan

Trending List


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

Contoh

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

Contoh Respons

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

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

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 Trending 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.

Pertanyaan yang Sering Diajukan

YouTube sendiri memperbarui daftar kira-kira setiap 15 menit; API menampilkan apa yang live pada saat permintaan.

Mereka numerik: 10 = Musik, 17 = Olahraga, 20 = Gaming, 24 = Hiburan, dll. Lihat dokumentasi YouTube Data API untuk tabel lengkap.

Ya. Setiap permintaan, bahkan yang menghasilkan error, mengonsumsi kredit. Kredit Anda terkait dengan jumlah permintaan, terlepas dari keberhasilan atau kegagalan. Jika error jelas disebabkan oleh masalah platform di pihak kami, kami akan memulihkan kredit yang terpengaruh (tanpa pengembalian uang tunai).

Hubungi kami di [email protected]. Kami menganggap umpan balik serius—jika laporan bug atau permintaan fitur Anda bermakna, kami dapat memperbaiki atau meningkatkan API dengan cepat dan memberikan Anda 50 kredit gratis sebagai terima kasih.

Tergantung pada API dan terkadang bahkan pada endpoint. Beberapa endpoint menggunakan data dari sumber eksternal, yang mungkin memiliki batas lebih ketat. Kami juga menerapkan batas untuk mencegah penyalahgunaan dan menjaga stabilitas platform kami. Periksa dokumentasi untuk batas spesifik setiap endpoint.

Kami beroperasi dengan sistem kredit. Kredit adalah unit prabayar yang tidak dapat dikembalikan yang Anda gunakan untuk panggilan API dan alat. Kredit dikonsumsi secara FIFO (yang terlama lebih dulu) dan berlaku selama 12 bulan sejak tanggal pembelian. Dashboard menampilkan setiap tanggal pembelian dan masa berlakunya.

Ya. Semua kredit yang dibeli (termasuk saldo pecahan) berlaku selama 12 bulan sejak pembelian. Kredit yang tidak digunakan kedaluwarsa secara otomatis dan dihapus secara permanen di akhir masa berlaku. Kredit yang kedaluwarsa tidak dapat dipulihkan atau dikonversi menjadi uang tunai atau nilai lainnya. Aturan transisi: kredit yang dibeli sebelum 22 Sep 2025 diperlakukan sebagai dibeli pada 22 Sep 2025 dan kedaluwarsa pada 22 Sep 2026 (kecuali kedaluwarsa lebih awal dinyatakan saat pembelian).

Ya—dalam masa berlakunya. Kredit yang tidak digunakan tetap tersedia dan dialihkan dari bulan ke bulan hingga kedaluwarsa 12 bulan setelah pembelian.

Kredit tidak dapat dikembalikan. Beli hanya yang Anda butuhkan—Anda selalu bisa mengisi ulang nanti. Jika error platform menyebabkan tagihan gagal, kami dapat memulihkan kredit yang terpengaruh setelah penyelidikan. Tidak ada pengembalian uang tunai.

Harga ditetapkan dalam kredit, bukan dolar. Setiap endpoint memiliki biayanya sendiri—lihat lencana "Kredit / permintaan" di atas. Anda akan selalu tahu persis berapa yang Anda keluarkan.
← Kembali ke API