YouTube Playlist & Shorts Scraper avatar

YouTube Playlist & Shorts Scraper

Pricing

from $6.00 / 1,000 results

Go to Apify Store
YouTube Playlist & Shorts Scraper

YouTube Playlist & Shorts Scraper

Extract every video in a YouTube playlist, or every Short on a channel, with titles, views, durations, channels and thumbnails.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

Maged

Maged

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

YouTube Playlist & Shorts Scraper extracts every video in a YouTube playlist and every Short on a YouTube channel, with titles, view counts, durations, channels, publish dates and thumbnails. Paste playlist links and channel handles together, and get one clean, export-ready table.

What does YouTube Playlist & Shorts Scraper do?

Give it any public YouTube playlist and it lists the videos in order, with position, title, channel, views, duration and upload age. Give it a channel link or @handle and it lists that channel's Shorts, with title, views and link. Both kinds of input can go into the same run.

On the Apify platform you also get API access, scheduling, integrations (Google Sheets, Zapier, Make, webhooks), proxy rotation and run monitoring. You can track a playlist or a creator's Shorts over time without writing any code.

Why use YouTube Playlist & Shorts Scraper?

  • Shorts research: find which Shorts took off for a creator or competitor and spot the formats that work.
  • Playlist export: turn any playlist (music, courses, podcasts) into a spreadsheet of titles, links and durations.
  • Content audits: check the view distribution across a channel's Shorts or a curated playlist.
  • Trend & chart tracking: schedule runs on chart playlists and watch position and views change over time.
  • Data pipelines: feed video IDs into other tools, such as transcript, comment or video-detail scrapers.

How to scrape a YouTube playlist or a channel's Shorts

  1. Open the Actor and go to the Input tab.
  2. Paste links into Playlists and channels, one per line:
    • playlists: https://www.youtube.com/playlist?list=PL…
    • channels: https://www.youtube.com/@MrBeast, @MrBeast, or a channel URL
  3. Set Max videos per playlist / channel (or 0 for everything).
  4. Click Start.
  5. Open the Output tab (Playlist videos and Shorts views), or download the data as JSON, CSV, Excel or HTML.

Input

FieldTypeDescription
urlsarrayPlaylist links and/or channel links / @handles. Required.
maxItemsPerSourceintegerStop after this many videos per playlist or channel. 0 = all. Default 200.
proxyConfigurationobjectOptional. Not needed for normal use.
{
"urls": [
"https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
"@MrBeast"
],
"maxItemsPerSource": 200
}

Output

Each video is one row. Rows are marked entityType: "playlist_video" or entityType: "short". You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Playlist video

{
"entityType": "playlist_video",
"sourceUrl": "https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
"playlistId": "PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
"playlistTitle": "Popular Music Videos",
"position": 121,
"videoId": "L7mSNTMb5sY",
"title": "…",
"url": "https://www.youtube.com/watch?v=L7mSNTMb5sY",
"channelName": "On The Radar Radio",
"channelId": "UCa8b7nZo-iPKoJxspOplnWg",
"views": 5600000,
"viewsText": "5.6M views",
"publishedText": "2 years ago",
"duration": "4:31",
"durationSeconds": 271,
"thumbnailUrl": "https://i.ytimg.com/vi/L7mSNTMb5sY/hqdefault.jpg",
"scrapedAt": "2026-09-25T15:12:59+00:00"
}

Short

{
"entityType": "short",
"sourceUrl": "@MrBeast",
"channelName": "MrBeast",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelUrl": "http://www.youtube.com/@MrBeast",
"position": 1,
"videoId": "T_SMf9j50uc",
"title": "Can We Build an Entire Village?",
"url": "https://www.youtube.com/shorts/T_SMf9j50uc",
"views": 19000000,
"viewsText": "19M views",
"thumbnailUrl": "https://i.ytimg.com/vi/T_SMf9j50uc/frame0.jpg",
"scrapedAt": "2026-09-25T15:13:07+00:00"
}

Output data fields

FieldDescription
positionOrder in the playlist, or in the channel's Shorts tab (newest first).
videoId / urlVideo ID and direct link.
titleVideo title.
channelName / channelIdThe uploader.
views / viewsTextView count as a number, and as YouTube displays it.
duration / durationSecondsVideo length (playlist videos).
publishedTextUpload age as shown by YouTube, e.g. "2 years ago" (playlist videos).
playlistTitle / playlistIdThe playlist the video came from.
thumbnailUrlVideo thumbnail.
errorPresent only on rows for inputs that couldn't be read.

How many results will I get?

One row per video. A 500-video playlist gives 500 rows, and a channel with 1,200 Shorts gives 1,200 rows (if uncapped). Use Max videos per playlist / channel to keep runs small while you test, then raise it or set it to 0 when you want the full list.

Tips

  • Mix inputs freely: playlists and channels can share one run.
  • Track over time: schedule the Actor daily or weekly and compare views across runs to see which videos are growing.
  • Go deeper: pass the videoId values into a video-details, transcript or comments scraper for richer data.

FAQ

Why are view counts rounded? YouTube shows views in rounded form in playlists and on the Shorts tab (e.g. "19M"). The Actor converts them to numbers. For exact counts, run the video IDs through a video-details scraper.

Which playlists work? Any public or unlisted playlist whose link you have. Private playlists, and auto-generated "Mix" radio playlists, can't be read. They return a row explaining why.

Can I get a channel's regular videos too? This Actor focuses on playlists and Shorts. A channel's full upload list is itself a playlist: replace UC at the start of the channel ID with UU and paste https://www.youtube.com/playlist?list=UU….

Is scraping YouTube legal? The Actor only collects publicly visible information. You're responsible for how you use the data under your local laws and YouTube's terms.

Found a bug or need a custom feature? Open an issue in the Issues tab. Custom solutions are available on request.