YouTube Trending Feed Extractor by Category & Market
Get video lists for YouTube's Gaming, Music, News, Movies and Trending sections in any of 31 regional markets, with views, duration and channel details; rows from a fallback search are labeled.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | What to read. 'charts' uses YouTube's official music, trailer and podcast charts. 'hubs' uses YouTube's category pages such as Gaming trending, News, Sports, Learning and Courses. |
charts | array | optional | One or more YouTube charts. Trending music videos is the official replacement for the retired general Trending page. Top songs and top artists are weekly; Shorts songs is daily or weekly. Music and Shorts charts include rank movement and optional history. |
categories | array | optional | One or more category pages. Gaming trending and Gaming live return up to 50 videos. News reads the selected news sections. Sports, Learning and Courses are editorial category feeds. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | What to read. 'charts' uses YouTube's official music, trailer and podcast charts. 'hubs' uses YouTube's category pages such as Gaming trending, News, Sports, Learning and Courses. |
charts | array | optional | One or more YouTube charts. Trending music videos is the official replacement for the retired general Trending page. Top songs and top artists are weekly; Shorts songs is daily or weekly. Music and Shorts charts include rank movement and optional history. |
categories | array | optional | One or more category pages. Gaming trending and Gaming live return up to 50 videos. News reads the selected news sections. Sports, Learning and Courses are editorial category feeds. |
newsSections | array | optional | Which News tabs to read. 'Top stories' is the main /news page; the other sections are direct news-destination feeds. Available sections vary by country. |
countries | array | optional | One or more markets. The 68 YouTube Charts markets are supported; 'global' is supported only for charts that publish a global ranking (top videos, top songs, top artists, Shorts songs). |
period | string | optional | Daily or weekly ranking. Weekly-only charts automatically use weekly. Current-only charts such as Trending music videos and Trending movie trailers ignore this setting. |
date | string | optional | Historical chart date in YYYY-MM-DD format. Leave empty for the latest chart. Supported by Top music videos, Top songs, Top artists and Shorts songs; current-only charts ignore it. |
maxItems | integer | optional | Total data rows to return across all charts, categories and countries. |
maxItemsPerChart | integer | optional | Rows to take from each chart/country or category/country combination. Source ceilings still apply. |
includeVideoDetails | boolean | optional | Fetch exact lifetime views, likes, upload dates and descriptions for every video. YouTube category, tags, Shorts eligibility and family-safe flags are filled when YouTube's player response is available and may be omitted on some cloud IPs. Adds one or more detail requests per video. |
maxConcurrency | integer | optional | How many exact-detail requests may run in parallel. |
onlyNew | boolean | optional | Skip rows already emitted by a previous run with the same monitor name. |
monitorName | string | optional | Separate only-new histories by monitor name. |
Download the published input schema
View complete JSON
{
"description": "Read YouTube Charts or category hubs for one or more countries, with optional exact video details.",
"properties": {
"categories": {
"default": [
"gaming"
],
"description": "One or more category pages. Gaming trending and Gaming live return up to 50 videos. News reads the selected news sections. Sports, Learning and Courses are editorial category feeds.",
"editor": "select",
"items": {
"enum": [
"gaming",
"gamingLive",
"news",
"sports",
"learning",
"courses"
],
"enumTitles": [
"Gaming trending",
"Gaming live",
"News",
"Sports",
"Learning",
"Courses"
],
"type": "string"
},
"minItems": 1,
"prefill": [
"gaming"
],
"title": "Category hubs (mode=hubs)",
"type": "array",
"uniqueItems": true
},
"charts": {
"default": [
"trendingVideos"
],
"description": "One or more YouTube charts. Trending music videos is the official replacement for the retired general Trending page. Top songs and top artists are weekly; Shorts songs is daily or weekly. Music and Shorts charts include rank movement and optional history.",
"editor": "select",
"items": {
"enum": [
"trendingVideos",
"topVideos",
"topSongs",
"topArtists",
"shortsSongs",
"movieTrailers",
"podcasts"
],
"enumTitles": [
"Trending music videos (current)",
"Top music videos (daily or weekly)",
"Top songs (weekly)",
"Top artists (weekly)",
"Top songs in Shorts (daily or weekly)",
"Trending movie trailers (current)",
"Podcast shows (weekly)"
],
"type": "string"
},
"minItems": 1,
"prefill": [
"trendingVideos"
],
"title": "Charts (mode=charts)",
"type": "array",
"uniqueItems": true
},
"countries": {
"default": [
"US"
],
"description": "One or more markets. The 68 YouTube Charts markets are supported; 'global' is supported only for charts that publish a global ranking (top videos, top songs, top artists, Shorts songs).",
"editor": "select",
"items": {
"enum": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"CA",
"CL",
"CO",
"CR",
"CZ",
"DK",
"DO",
"EC",
"EG",
"SV",
"EE",
"FI",
"FR",
"DE",
"GT",
"HN",
"HK",
"HU",
"IS",
"IN",
"ID",
"IE",
"IL",
"IT",
"JP",
"KE",
"LU",
"MY",
"MX",
"NL",
"NZ",
"NI",
"NG",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"RO",
"RU",
"SA",
"RS",
"SG",
"ZA",
"KR",
"ES",
"SE",
"CH",
"TW",
"TZ",
"TH",
"TR",
"UG",
"UA",
"AE",
"GB",
"US",
"UY",
"VN",
"ZW",
"global"
],
"enumTitles": [
"Argentina",
"Australia",
"Austria",
"Belgium",
"Bolivia",
"Brazil",
"Canada",
"Chile",
"Colombia",
"Costa Rica",
"Czechia",
"Denmark",
"Dominican Republic",
"Ecuador",
"Egypt",
"El Salvador",
"Estonia",
"Finland",
"France",
"Germany",
"Guatemala",
"Honduras",
"Hong Kong",
"Hungary",
"Iceland",
"India",
"Indonesia",
"Ireland",
"Israel",
"Italy",
"Japan",
"Kenya",
"Luxembourg",
"Malaysia",
"Mexico",
"Netherlands",
"New Zealand",
"Nicaragua",
"Nigeria",
"Norway",
"Panama",
"Paraguay",
"Peru",
"Philippines",
"Poland",
"Portugal",
"Romania",
"Russia",
"Saudi Arabia",
"Serbia",
"Singapore",
"South Africa",
"South Korea",
"Spain",
"Sweden",
"Switzerland",
"Taiwan",
"Tanzania",
"Thailand",
"Turkey",
"Uganda",
"Ukraine",
"United Arab Emirates",
"United Kingdom",
"United States",
"Uruguay",
"Vietnam",
"Zimbabwe",
"Global"
],
"type": "string"
},
"minItems": 1,
"prefill": [
"US"
],
"title": "Countries",
"type": "array",
"uniqueItems": true
},
"date": {
"default": "",
"description": "Historical chart date in YYYY-MM-DD format. Leave empty for the latest chart. Supported by Top music videos, Top songs, Top artists and Shorts songs; current-only charts ignore it.",
"editor": "textfield",
"prefill": "",
"title": "Chart date (mode=charts)",
"type": "string"
},
"includeVideoDetails": {
"default": true,
"description": "Fetch exact lifetime views, likes, upload dates and descriptions for every video. YouTube category, tags, Shorts eligibility and family-safe flags are filled when YouTube's player response is available and may be omitted on some cloud IPs. Adds one or more detail requests per video.",
"prefill": false,
"title": "Include exact video details",
"type": "boolean"
},
"maxConcurrency": {
"default": 5,
"description": "How many exact-detail requests may run in parallel.",
"maximum": 10,
"minimum": 1,
"prefill": 3,
"title": "Detail concurrency",
"type": "integer"
},
"maxItems": {
"default": 100,
"description": "Total data rows to return across all charts, categories and countries.",
"maximum": 10000,
"minimum": 1,
"prefill": 3,
"title": "Max items",
"type": "integer"
},
"maxItemsPerChart": {
"default": 100,
"description": "Rows to take from each chart/country or category/country combination. Source ceilings still apply.",
"maximum": 100,
"minimum": 1,
"prefill": 3,
"title": "Max items per chart or feed",
"type": "integer"
},
"mode": {
"default": "charts",
"description": "What to read. 'charts' uses YouTube's official music, trailer and podcast charts. 'hubs' uses YouTube's category pages such as Gaming trending, News, Sports, Learning and Courses.",
"editor": "select",
"enum": [
"charts",
"hubs"
],
"enumTitles": [
"YouTube Charts",
"Category hubs"
],
"prefill": "charts",
"title": "Mode",
"type": "string"
},
"monitorName": {
"default": "default",
"description": "Separate only-new histories by monitor name.",
"editor": "textfield",
"prefill": "default",
"title": "Monitor name",
"type": "string"
},
"newsSections": {
"default": [
"top"
],
"description": "Which News tabs to read. 'Top stories' is the main /news page; the other sections are direct news-destination feeds. Available sections vary by country.",
"editor": "select",
"items": {
"enum": [
"top",
"sports",
"entertainment",
"business",
"world",
"national",
"health",
"technology"
],
"enumTitles": [
"Top stories",
"Sports",
"Entertainment",
"Business",
"World",
"National",
"Health",
"Technology"
],
"type": "string"
},
"minItems": 1,
"prefill": [
"top"
],
"title": "News sections (mode=hubs, categories includes news)",
"type": "array",
"uniqueItems": true
},
"onlyNew": {
"default": false,
"description": "Skip rows already emitted by a previous run with the same monitor name.",
"prefill": false,
"title": "Only new items",
"type": "boolean"
},
"period": {
"default": "daily",
"description": "Daily or weekly ranking. Weekly-only charts automatically use weekly. Current-only charts such as Trending music videos and Trending movie trailers ignore this setting.",
"editor": "select",
"enum": [
"daily",
"weekly"
],
"enumTitles": [
"Daily",
"Weekly"
],
"prefill": "daily",
"title": "Chart period (mode=charts)",
"type": "string"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "YouTube Trending Feed Extractor Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
videos | string | optional | Dataset containing chart entries, category-hub videos and status rows. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Ranked YouTube chart entries and category-hub videos with rank movement, exact video details and status rows.",
"properties": {
"videos": {
"description": "Dataset containing chart entries, category-hub videos and status rows.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "YouTube Trending Feed Extractor dataset",
"type": "string"
}
},
"title": "YouTube Trending Feed Extractor by Category & Market Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"full": {
"display": {
"component": "table",
"properties": {
"artistId": {
"format": "text",
"label": "Artist ID"
},
"category": {
"format": "text",
"label": "Category"
},
"channelHandle": {
"format": "text",
"label": "Handle"
},
"channelId": {
"format": "text",
"label": "Channel ID"
},
"channelName": {
"format": "text",
"label": "Channel"
},
"channelUrl": {
"format": "link",
"label": "Channel URL"
},
"chartDate": {
"format": "text",
"label": "Chart Date"
},
"chartPeriod": {
"format": "text",
"label": "Period"
},
"chartType": {
"format": "text",
"label": "Chart"
},
"chartViewCount": {
"format": "number",
"label": "Chart Views"
},
"commentCount": {
"format": "number",
"label": "Comments"
},
"countryCode": {
"format": "text",
"label": "Country"
},
"durationSeconds": {
"format": "number",
"label": "Duration (s)"
},
"durationText": {
"format": "text",
"label": "Duration"
},
"isLive": {
"format": "boolean",
"label": "Live"
},
"isShortsEligible": {
"format": "boolean",
"label": "Shorts Eligible"
},
"isVerified": {
"format": "boolean",
"label": "Verified"
},
"likeCount": {
"format": "number",
"label": "Likes"
},
"market": {
"format": "text",
"label": "Market"
},
"message": {
"format": "text",
"label": "Message"
},
"playlistId": {
"format": "text",
"label": "Playlist ID"
},
"position": {
"format": "number",
"label": "#"
},
"publishedDate": {
"format": "text",
"label": "Published Date"
},
"publishedTimeText": {
"format": "text",
"label": "Published"
},
"rankSource": {
"format": "text",
"label": "Rank Source"
},
"recordType": {
"format": "text",
"label": "Record"
},
"scrapedAt": {
"format": "text",
"label": "Scraped At"
},
"sourceName": {
"format": "text",
"label": "Source"
},
"sourceType": {
"format": "text",
"label": "Source Type"
},
"status": {
"format": "text",
"label": "Status"
},
"subscriberCount": {
"format": "number",
"label": "Subscribers"
},
"subscriberCountText": {
"format": "text",
"label": "Subscribers Text"
},
"thumbnailUrl": {
"format": "link",
"label": "Thumbnail"
},
"title": {
"format": "text",
"label": "Title"
},
"trackId": {
"format": "text",
"label": "Track ID"
},
"type": {
"format": "text",
"label": "Type"
},
"url": {
"format": "link",
"label": "URL"
},
"videoId": {
"format": "text",
"label": "Video ID"
},
"viewCount": {
"format": "number",
"label": "Lifetime Views"
},
"viewCountText": {
"format": "text",
"label": "Views Text"
},
"viewsPerHour": {
"format": "number",
"label": "Views / Hour"
}
}
},
"title": "Full Details",
"transformation": {
"fields": [
"position",
"recordType",
"type",
"videoId",
"trackId",
"artistId",
"playlistId",
"title",
"url",
"channelName",
"channelId",
"channelUrl",
"channelHandle",
"channelAvatarUrl",
"isVerified",
"viewCount",
"viewCountText",
"likeCount",
"commentCount",
"subscriberCount",
"subscriberCountText",
"chartViewCount",
"publishedTimeText",
"publishedDate",
"durationText",
"durationSeconds",
"thumbnailUrl",
"thumbnails",
"badges",
"isLive",
"liveStatus",
"scheduledStartTime",
"isShortsEligible",
"isFamilySafe",
"viewsPerHour",
"description",
"keywords",
"youtubeCategory",
"artists",
"songwriters",
"producers",
"label",
"releaseDate",
"primaryGenre",
"numEpisodes",
"lastUpdatedDate",
"previousPosition",
"rankChange",
"periodsOnChart",
"viewsChangePercent",
"isNewEntry",
"chartDate",
"chartType",
"chartPeriod",
"period",
"date",
"countryCode",
"countryName",
"category",
"market",
"sourceType",
"sourceName",
"sourceUrl",
"rankSource",
"fallbackQuery",
"status",
"message",
"mode",
"resultCount",
"scrapedAt"
]
}
},
"overview": {
"display": {
"component": "table",
"properties": {
"channelName": {
"format": "text",
"label": "Channel"
},
"chartType": {
"format": "text",
"label": "Chart"
},
"chartViewCount": {
"format": "number",
"label": "Chart Views"
},
"countryCode": {
"format": "text",
"label": "Country"
},
"position": {
"format": "number",
"label": "#"
},
"sourceName": {
"format": "text",
"label": "Source"
},
"status": {
"format": "text",
"label": "Status"
},
"title": {
"format": "text",
"label": "Title"
},
"type": {
"format": "text",
"label": "Type"
},
"url": {
"format": "link",
"label": "URL"
},
"viewCount": {
"format": "number",
"label": "Lifetime Views"
}
}
},
"title": "Trending Overview",
"transformation": {
"fields": [
"position",
"sourceName",
"title",
"channelName",
"chartViewCount",
"viewCount",
"countryCode",
"chartType",
"type",
"url",
"status"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
YouTube Trending Feed Extractor by Category & Market
Scrape YouTube's current trending surfaces — the official music, movie-trailer and podcast charts, plus the Gaming, News, Sports, Learning and Courses category hubs. Choose from seven chart types across 68 markets and global where published, or read up to 50 videos from Gaming trending and Gaming live. Every row keeps its chart rank or page position, and optional exact video details add lifetime views, likes, comment counts, upload dates, channel subscriber counts where published, YouTube category, descriptions, tags and Shorts eligibility. No login, API key or proxy setup is required.
What this actor does
- Two modes:
chartsfor YouTube's official rankings andhubsfor category pages - Seven charts across 68 markets plus global where the selected chart publishes a global ranking
- Category hubs: Gaming trending, Gaming live, News with selectable sections, Sports, Learning and Courses
- Exact video details: optional lifetime views, likes, exact comment counts, upload date and description, plus player-only category, tags and Shorts flags when YouTube exposes them; channel subscriber counts are added when YouTube publishes an exact number
- Empty fields are omitted — no nulls, blank strings or empty arrays in any row
Output per chart entry
Chart rows describe ranked music, trailer or podcast entries. Each row keeps the chart position and adds movement and history fields where the chart publishes them.
position— chart rankrecordType—chartEntrytype—video,track,artistorpodcastShowvideoId,trackId,artistId,playlistId— identifiers available for the entry typetitle— entry titleurl— watch, channel or playlist URLchannelName,channelId,channelUrl,channelHandle— channel details where the chart exposes themartists— performing artistssongwriters,producers— credits where publishedlabel— record label for song chartsreleaseDate— music, trailer or podcast release dateprimaryGenre,numEpisodes,lastUpdatedDate— podcast-show detailschartViewCount— views accumulated during the chart periodviewCount— exact lifetime views when exact details are enabledlikeCount— exact likes when exact details are enabledcommentCount— exact comment count when comments are enabled and exact details are onsubscriberCount,subscriberCountText— exact channel subscriber count when YouTube publishes one, plus the displayed text (which is rounded for large channels)durationText,durationSeconds— track, video or trailer durationthumbnailUrl,thumbnails— highest-resolution image and all available sizespreviousPosition,rankChange,periodsOnChart,viewsChangePercent,isNewEntry— chart movement;rankChangeis positive when an entry moved upchartDate,chartType,chartPeriod— chart date, requested chart and daily/weekly periodcountryCode,countryName— chart marketcategory—music,moviesorpodcastsmarket— same country code ascountryCodesourceType—youtube_chartssourceName— the chart slug, such astopSongssourceUrl— the public chart pagerankSource—chartdescription,keywords,youtubeCategory,isShortsEligible,isFamilySafe— added when exact details are enabled and YouTube exposes the player response;descriptioncan also come from the watch-next endpointpublishedDate,publishedTimeText,isLive,liveStatus,scheduledStartTime,viewsPerHour— publication and live status when availablebadges— badge labels where the source provides themfallbackQuery— reserved for labelled fallback rows; normally absentscrapedAt— UTC timestamp
Output per category-hub video
Hub rows are individual videos read from a category page. They keep the same identity, channel, duration, thumbnail and provenance fields as chart rows, plus:
position— page orderrecordType—videotype—videochannelAvatarUrl— channel avatar shown on the hub cardisVerified— present when the channel carries a verified badgeviewCountText,publishedTimeText— display text from the pageviewCount— exact lifetime views when exact details are enabled, or when the hub shows an unabridged countcommentCount,subscriberCount,subscriberCountText— added by exact details when YouTube publishes exact valuesbadges,isLive— badges and live status from the pagecategory—gaming,news,sports,learningorcoursescountryCode,countryName— hub marketmarket— same country code ascountryCodesourceType—category_pagesourceName—gaming,gamingLive,news,news_business,sports,learningorcoursessourceUrl— the public hub pagerankSource—pagechartViewCount,chartDate,chartType,chartPeriod,previousPosition,rankChange,periodsOnChart,viewsChangePercent,isNewEntry— not used for hub rows
Output per status record
A status row explains a source that was skipped, unsupported or empty. It always carries recordType: "status", status, message, mode and scrapedAt, plus the relevant category, chartType, countryCode, market, period, date and resultCount when known. Status values are no_results, unsupported_country, unsupported_chart_period, retired and partial_source.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | charts |
charts for official rankings, hubs for category pages |
charts |
array | ["trendingVideos"] |
One or more chart types (mode=charts) |
categories |
array | ["gaming"] |
One or more category hubs (mode=hubs) |
newsSections |
array | ["top"] |
News tabs to read (mode=hubs, categories includes news) |
countries |
array | ["US"] |
One or more of the 68 chart markets, plus global where supported |
period |
string | daily |
daily or weekly for charts that publish both |
date |
string | – | Historical date in YYYY-MM-DD; empty for the most recent chart |
maxItems |
integer | 100 |
Total data rows across all sources (1–10,000) |
maxItemsPerChart |
integer | 100 |
Rows per chart or hub feed (1–100) |
includeVideoDetails |
boolean | true |
Fetch exact lifetime views, likes, dates and descriptions; player-only extras when available |
maxConcurrency |
integer | 5 |
Parallel exact-detail requests (1–10) |
onlyNew |
boolean | false |
Skip rows already emitted by the same monitor |
monitorName |
string | default |
Separate only-new histories by name |
Example: trending music videos in the United States
{
"mode": "charts",
"charts": ["trendingVideos"],
"countries": ["US"],
"maxItems": 3,
"includeVideoDetails": false
}
Example: weekly top songs with history in Germany and the United Kingdom
{
"mode": "charts",
"charts": ["topSongs"],
"countries": ["DE", "GB"],
"period": "weekly",
"date": "2026-10-22",
"maxItems": 100,
"includeVideoDetails": true
}
Example: gaming trending and live in Japan
{
"mode": "hubs",
"categories": ["gaming", "gamingLive"],
"countries": ["JP"],
"maxItems": 50
}
Example: top stories, business and technology news in the United States
{
"mode": "hubs",
"categories": ["news"],
"newsSections": ["top", "business", "technology"],
"countries": ["US"],
"maxItems": 60
}
Use cases
- Music-industry tracking — follow top songs, artists and videos across markets and chart dates
- Creator and label intelligence — compare chart movement, periods on chart and view growth
- Gaming and esports research — capture the current Gaming trending and live line-up by country
- Newsroom monitoring — pull top stories and section feeds for one or more markets
- Cross-market comparison — run the same chart in several countries to compare regional taste
- Trend and virality research — combine exact lifetime views, publish dates and chart rank history
Limitations and honest caveats
- General Trending is gone. YouTube retired the general Trending page and Trending Now list on 21 July 2025.
trendingVideosis the official Trending music chart, not a general video feed. Legacycategory: "now"inputs are mapped to it with aretiredstatus row. - Exact details depend on YouTube's detail responses. Views, likes, comment counts, subscriber counts and upload dates are filled from the player and the public watch-next endpoint. On some datacenter IPs YouTube strips the player response, so
youtubeCategory,keywords,isShortsEligibleandisFamilySafemay be omitted andpublishedDatemay be date-only. The listing row itself is never dropped. - Courses can be empty from some networks. In some cloud environments YouTube serves no videos for
/courseseven though the page works elsewhere. The run returns ano_resultsstatus row; chooselearningfor a reliable editorial education feed. - Some Shorts songs have no video ID. A small number of Shorts chart entries have no linked video, so those rows keep
trackIdand omiturl. - Hype and some hubs are not available cookielessly. Hype, shopping and podcast hubs, and a localised fashion hub return no usable rows. They are not shipped rather than filled with invented values.
- Comments and subscribers are partial.
commentCountis exact when comments are enabled; it needs one extra comments-continuation request.subscriberCountis exact only when YouTube publishes an exact number — small channels do, while large channels publish rounded text. The displayed value is always kept insubscriberCountText. - Coverage is chart-specific. Podcasts are published only in US, CA and MX. Shorts songs cover 22 markets plus global. Trending music videos and trailers are country-only. Top music videos, top songs, top artists and Shorts songs have a global ranking; the other charts do not.
- History is chart-specific. Weekly top music videos, top songs and top artists accept
dateback to 21 September 2017. Daily top music videos start on 6 November 2023. Shorts songs start on 2 November 2023 (weekly) or 6 November 2023 (daily). Trending music videos, trailers and podcasts return the current chart only. Dates before those floors, or after the latest published chart, return anunsupported_chart_periodstatus row. - Charts are fixed lists. YouTube returns about 30, 50–54 or 100 entries per chart (Shorts can return 51 in some markets) and does not expose pagination. Use
maxItems/maxItemsPerChartand split by country, chart or date to cover more. viewsPerHouris an average. It is lifetime views divided by hours since upload, not live velocity. When only a date is available it is approximate by up to 24 hours.onlyNewis bounded. Each monitor name keeps up to 50,000 keys in its key-value store; older keys roll off.- This is not a keyword search actor. Use the separate YouTube search actor for keyword discovery.
FAQ
What happened to YouTube's general Trending page?
YouTube retired the general Trending page and the Trending Now list on 21 July 2025. The trendingVideos chart returns YouTube's official Trending music chart, which is the current replacement. A legacy category: "now" input is mapped to that chart and the run adds a retired status row explaining the change.
What is the difference between charts and hubs?
charts reads YouTube's official ranked lists with chart positions and movement. hubs reads editorial category pages such as Gaming trending, News, Sports, Learning and Courses. Hub order reflects the page layout, not an official chart rank, and rankSource tells you which one a row uses.
Which charts work globally?
Top music videos, top songs, top artists and Shorts songs publish a global ranking. Trending music videos and trending movie trailers are country-only. Podcast shows are published only for the United States, Canada and Mexico.
Which charts support historical dates?
Weekly top music videos, top songs and top artists accept a date back to 21 September 2017. Daily top music videos start on 6 November 2023, and Shorts songs start on 2 November 2023 (weekly) or 6 November 2023 (daily). Trending music videos, trending movie trailers and podcast shows return the current chart only.
Are comment and subscriber counts exact?
commentCount is an exact integer when the video has comments and exact details are enabled. subscriberCount is an exact integer only when YouTube publishes one — this is common for small channels. Large channels publish rounded text such as 15.1M subscribers, which is kept in subscriberCountText and never expanded into a fake exact number.
Why is the Shorts chart a song chart?
YouTube's Shorts chart ranks songs used in Shorts, not individual Shorts videos. The actor labels those rows as track and keeps the chart honest rather than presenting a video ranking that does not exist.
Why are some fields missing from a row?
Each chart and hub exposes a different field set. For example, artists have no video ID, podcasts have no lifetime view count, and live videos have no fixed duration. Missing values are omitted rather than filled with zero or null.
Are the view and like counts exact?
chartViewCount is the views accumulated during the chart period. viewCount and likeCount are exact lifetime counters and appear when includeVideoDetails is enabled; a hub row can also carry viewCount when the page itself shows an unabridged count. The actor first asks YouTube's player, then the public watch-next endpoint, then the watch page. On some cloud IPs only the watch-next path is available, which still supplies exact views and likes but only a date (not a time) for publishedDate. Display text such as 1.2M views is kept separately in viewCountText and is never expanded into a fake exact number.
Do I need an API key, login or proxy?
No. The actor reads public YouTube chart data and public category pages without an account, API key, cookies or proxy configuration.
Is this affiliated with YouTube?
No. This actor is an independent third-party tool and is not affiliated with, endorsed by or sponsored by YouTube or Google.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build edchdAkSbD3iMNJ6D. Documentation is regenerated from the default published build; private drafts are not included.