YouTube Trending Videos Scraper
Pricing
from $1.59 / 1,000 trending videos
YouTube Trending Videos Scraper
Scrape YouTube's Gaming, Sports, News, Fashion, Learning, Courses, Podcasts, Shopping, Music, Music Charts, and Movies trending pages for any country — titles, channels, views, and more.
Pricing
from $1.59 / 1,000 trending videos
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
YouTube Trending Videos Scraper
YouTube Trending Videos Scraper pulls videos straight off YouTube's category hub pages and Music Charts — Gaming, Sports, News, Fashion, Learning, Courses, Podcasts, Shopping, Music, Music Charts, and Movies — for any country you choose. No login, no official API quota, no browser required.
| Pick any mix of 11 sources and any two-letter country codes, and get title, channel, view count, duration, and thumbnail for up to 50 videos per source per region in one run. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor: Actor ID parsebird/youtube-trending-videos-scraper on Apify — call it with ApifyClient (client.actor("parsebird/youtube-trending-videos-scraper").call(run_input={"sources": ["gamingTrending", "musicTrending"], "regions": ["US", "GB"], "maxResultsPerSourceRegion": 50})) — inputs are sources (array, choose from gamingTrending, sportsTrending, newsTrending, fashionTrending, learningTrending, coursesTrending, podcastsTrending, shoppingTrending, musicTrending, musicCharts, moviesTrending; default ["gamingTrending"]), regions (array of two-letter country codes, default ["US"]), and maxResultsPerSourceRegion (integer 1–50, default 50) — output is one dataset row per video per source per region with source, region, sourceRank, videoId, title, description, channelId, channelTitle, channelHandle, channelAvatarUrl, isChannelVerified, publishedTimeText, publishedAt, durationText, viewCount, likeCount, commentCount, thumbnailUrl — API docs at https://apify.com/parsebird/youtube-trending-videos-scraper/api and API tokens at https://console.apify.com/settings/integrations.
What does YouTube Trending Videos Scraper do?
This YouTube trending scraper reads the same category pages YouTube itself renders for visitors, region by region:
- 🌍 Any two-letter country code (
US,GB,JP, ...) — each source is re-fetched per region so you get genuinely region-specific results, not a single global list - 🗂️ 11 sources in one run: Gaming, Sports, News, Fashion, Learning, Courses, Podcasts, Shopping, Music, Music Charts, and Movies
- 🏆
sourceRankgives each video's position on the page, so you can track how a category's trending list shifts over time - 📊 Title, channel name/ID/handle/avatar, verified badge, publish time text, duration, view count, and thumbnail — whatever YouTube exposes on that specific page
- 🎵 Music Charts pulls from YouTube's dedicated charts.youtube.com weekly Top Videos chart, with real chart rank, artist credits, and release date
- 🧯 Batches of source/region combinations run in parallel; one blocked or empty combination never stops the rest
Run it from the Apify Console with no code, or call it from Python/JavaScript via the Apify API — schedule daily pulls to track how trending lists change, wire it into an integration (Make, Zapier, n8n), and export results as JSON, CSV, Excel, HTML, or XML straight from the dataset.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| sources | array of strings | No | ["gamingTrending"] | One or more source pages or charts to collect. See the full list below. |
| regions | array of strings | No | ["US"] | Two-letter country codes. |
| maxResultsPerSourceRegion | integer | No | 50 | Maximum videos to save for each selected source and region (max 50). |
Available sources: gamingTrending (Gaming trending videos), sportsTrending (Sports category videos), newsTrending (News category videos), fashionTrending (Fashion category videos), learningTrending (Learning category videos), coursesTrending (Courses category videos), podcastsTrending (Podcast category videos), shoppingTrending (Shopping category videos), musicTrending (Music category videos), musicCharts (YouTube Music charts), moviesTrending (Movies storefront trending).
Output example
{"source": "gamingTrending","region": "US","sourceRank": 1,"videoId": "_BE6aVJgM98","title": "THE FIRST RACE IN BRAWL HISTORY #FormulaBrawl","description": null,"channelId": "UCooVYzDxdwTtGYAkcPmOgOw","channelTitle": "Brawl Stars and Jelle's Marble Runs","channelHandle": null,"channelAvatarUrl": "https://yt3.ggpht.com/example=s68-c-k-c0x00ffffff-no-rj","isChannelVerified": null,"publishedTimeText": "21 hours ago","publishedAt": null,"durationText": "2:59","viewCount": 6368571,"likeCount": null,"commentCount": null,"thumbnailUrl": "https://i.ytimg.com/vi/_BE6aVJgM98/hqdefault.jpg"}
Every row shares this field set; fields YouTube doesn't expose on that particular source page come back null (this is normal — hub pages never expose like/comment counts, for example, and only Music Charts exposes an absolute publishedAt date). Download the full results as JSON, CSV, Excel, HTML, or XML from the Actor's dataset, or pull them with the Apify API.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/youtube-trending-videos-scraper").call(run_input={"sources": ["gamingTrending", "musicTrending"],"regions": ["US", "GB"],"maxResultsPerSourceRegion": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["source"], item["region"], item["sourceRank"], item["title"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/youtube-trending-videos-scraper').call({sources: ['gamingTrending', 'musicTrending'],regions: ['US', 'GB'],maxResultsPerSourceRegion: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- Track how trending videos in your niche (Gaming, News, Music, ...) shift day to day across multiple countries
- Feed a content-strategy dashboard with what's currently trending by category and region
- Monitor a competitor's category or watch which creators break into a country's trending list
- Build a "what's trending" widget or newsletter section sourced straight from YouTube
- Compare a music video's performance across countries using YouTube Music Charts' weekly rank
How it works
- Choose your
sourcesandregions, and amaxResultsPerSourceRegioncap. - For each source × region combination, the Actor requests YouTube's own hub page for that region (or, for
musicCharts, YouTube Music's chart data) — the same content a visitor from that country would see. - It reads the page's embedded data directly, walking every shelf and card format YouTube uses (including its newer card layouts) so nothing gets missed.
- Each video becomes one row with a
sourceRankreflecting its position on the page, pushed to the dataset as soon as it's found. - A failed or empty source/region combination is logged and skipped — it never stops the rest of the batch.
How much does it cost to scrape YouTube trending videos?
| Event | Price per event | Price per 1,000 |
|---|---|---|
| video-scraped | $0.00199 | $1.99 |
You're billed one video-scraped event per video row saved — failed or empty source/region combinations are never charged. Pricing improves automatically with your Apify plan tier (Bronze $1.89/1,000, Silver $1.79/1,000, Gold $1.59/1,000). Apify's free monthly platform credits cover a meaningful number of runs before you pay anything out of pocket.
Input/Output
Set sources, regions, and maxResultsPerSourceRegion from the Input tab in Apify Console, or pass them as JSON via the API. Results land in the run's default dataset — open the Output tab to preview rows, or export as JSON, CSV, Excel, HTML, or XML.
Is it legal to scrape YouTube trending videos?
Scraping publicly available data — the same video listings any visitor sees on YouTube's own trending pages — for research, analysis, or monitoring is common practice, but always review YouTube's Terms of Service for your specific use case and avoid republishing content itself without permission. Read more on Apify's blog about the legality of web scraping.
Other YouTube scrapers by ParseBird
- YouTube Shorts Downloader — get direct source media links for any YouTube Short
- YouTube Transcript Scraper — get captions or Whisper-transcribed text for any video
- YouTube Thumbnail Downloader — grab every thumbnail resolution for a video
- YouTube Search Scraper — scrape search results for any keyword
- YouTube Channel Search Scraper — find channels matching a query
- YouTube Community Posts Scraper — pull a channel's Community tab posts
FAQ
Why are podcastsTrending, shoppingTrending, and moviesTrending sometimes empty?
These three YouTube hubs consistently return no results for a guest (non-signed-in) session in every region we've tested — YouTube appears to require a signed-in Google account with regional store access for them. They're kept as valid source options in case that changes, but plan for them to come back empty.
Why does gamingTrending return so few results?
The Gaming hub page itself only surfaces a couple of video shelves by default (it's mostly a category-browsing page), so its result count is usually in the single digits per region even at the maximum maxResultsPerSourceRegion. This reflects what YouTube actually shows, not a limitation of the Actor.
What does sourceRank mean for Music Charts vs. the other sources?
For musicCharts, it's YouTube Music's own official weekly chart position. For every other source, it's the video's position on the hub page at the time of the run — useful for tracking movement, but not an official YouTube ranking.
Why is publishedAt usually null?
YouTube's hub pages only expose a relative time string (publishedTimeText, e.g. "21 hours ago"), not an absolute timestamp. Only musicCharts exposes a real release date, which is mapped to publishedAt.
Can I run this on a schedule? Yes — use Apify's built-in Scheduler to track how a region's trending list changes daily or hourly.
I found a bug or a source/region combo that looks wrong — where do I report it? Open an issue on the Actor's Issues tab in Apify Console with the source and region that looked off, and it'll get looked at.