YouTube Playlist Scraper - Every Video In Order avatar

YouTube Playlist Scraper - Every Video In Order

Pricing

from $0.50 / 1,000 playlist videos

Go to Apify Store
YouTube Playlist Scraper - Every Video In Order

YouTube Playlist Scraper - Every Video In Order

Export every video in a YouTube playlist with its position, title, views, duration and thumbnail. Handles playlists of any length, including a channel's uploads playlist. Filter by views or title before billing. No API key and no Data API quota.

Pricing

from $0.50 / 1,000 playlist videos

Rating

0.0

(0)

Developer

DONGMIN KIM

DONGMIN KIM

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

YouTube Playlist Scraper — Every Video, In Order

Export a playlist to a table: position, title, URL, views, duration and thumbnail. Works on playlists of any length, and on a channel's uploads playlist.

No API key. The Data API caps at 10,000 quota units a day; this has no such ceiling.

What it does well

  • Position is a field — the ordering is the thing a playlist has that a channel listing does not, so it ships as position rather than being left to the row order of a dataset.
  • Full pagination — the whole playlist, not the first 100.
  • Filters run before billing — minimum views or a title fragment. Filtered videos cost nothing.
  • Multiple playlists per run, each row tagged with its playlist.

Honest scope

Playlists are also accepted directly by our Transcript and Comments Actors, which expand them for you. Reach for this one when the playlist itself is the object of study — its order, its length, what is in it — rather than a way of naming a set of videos.

Input

{
"playlistUrls": [
"https://www.youtube.com/playlist?list=PLbpi6ZahtOH6Blw3RGYpWkSByi_T7Rygb",
"UUX6OQ3DkcsbYNE6H8uQQuVA"
],
"maxVideosPerPlaylist": 1000
}

Every option

The same wording you see in the Apify console, with the JSON key for API and MCP callers.

OptionWhat it doesDefault
PlaylistsplaylistUrls (required)Playlist URLs, watch URLs carrying ?list=, or bare ids (PL…, UU…, OLAK5…). A channel's uploads playlist works too.
Max videos per playlistmaxVideosPerPlaylistVideos arrive 100 per request, so this is the main cost control.500
Minimum viewsminViewCountDrop videos below this view count. Filtered videos are not billed.0
Title contains any oftitleContainsCase-insensitive fragments. A video is kept if its title contains any of them.
ConcurrencyconcurrencyPlaylists read in parallel.3
ProxyproxyConfigurationLeave the default. Reads listing pages only, so it stays on cheap datacenter proxies.{"useApifyProxy":true}

Output

One row per video.

{
"playlistId": "PLbpi6ZahtOH6Blw3RGYpWkSByi_T7Rygb",
"playlistUrl": "https://www.youtube.com/playlist?list=PLbpi6ZahtOH6Blw3RGYpWkSByi_T7Rygb",
"position": 1,
"videoId": "8S0FDjFBj8o",
"url": "https://www.youtube.com/watch?v=8S0FDjFBj8o",
"title": "The first video in the playlist",
"viewCount": 15641909,
"durationSeconds": 356,
"publishedText": "3 years ago",
"thumbnailUrl": "https://i.ytimg.com/vi/8S0FDjFBj8o/hqdefault.jpg",
"scrapedAt": "2026-08-20T09:14:02.113Z"
}

Every field

You are billed per video delivered, so here is everything a row can contain.

FieldWhat it is
playlistId / playlistUrlWhich playlist the row came from, so a multi-playlist run reads without a join.
positionPosition in the playlist, counted before filtering — so it still matches the playlist you would see on YouTube even when your filters remove rows.
videoIdThe 11-character id.
urlwatch?v= URL.
titleVideo title.
viewCountViews, parsed from the display text.
durationSecondsLength in seconds.
publishedTextYouTube's relative text, when the playlist row carries one.
isShorttrue when the entry is a Short. Playlists mix formats, so this is how you separate them without re-checking each video.
thumbnailUrlLargest available thumbnail.
scrapedAtWhen this run read the playlist.

Who this is for

  • Course and curriculum builders — a tutorial playlist becomes a table with runtimes and the order preserved.
  • Anyone taking a whole back catalogue — a channel's uploads playlist is every video it has ever published.
  • Curation researchers — what a channel groups together, and in what order.
  • Data teams feeding other Actors — playlist URLs in, video URLs out, straight into a transcript or comments run.

Common uses

  • Course and series export — turn a tutorial playlist into a table with runtimes.
  • Back-catalogue export — a channel's uploads playlist (UU followed by the channel id without its UC) is every video it has published.
  • Curation research — what a channel groups together, and in what order.
  • Feeding other Actors — take the URLs into a transcript, comments or sponsorship run.

Pricing

Pay per video delivered — $0.50 per 1,000. Videos removed by your filters and failed playlists cost nothing.

Starting a run costs $0.00002 — the platform's $0.00001 minimum, charged once per GB of memory, and these Actors run on 2 GB. That is two thousandths of a cent per run.

Other Actors in this family

Same engines, same billing, no account or API key on any of them.

YouTube & video

Search demand

E-commerce

Hiring

FAQ

Will I get blocked, or my account banned? There is no account to ban — no login, no cookies. Playlist pages are listing pages, the least defended surface YouTube has, so this runs on datacenter proxies almost all of the time. YouTube signals throttling with an HTTP 200 and an error body rather than an error code, which is the trap that silently halves most scrapers' results; this one detects it by reason and rotates.

Is it legal to scrape a YouTube playlist? It reads the same public playlist pages a browser requests, with no login and nothing bypassed, and the fields are facts about videos rather than the videos themselves. Public-data scraping is broadly treated as lawful in the US; YouTube's Terms of Service are a separate contract question. Not legal advice.

Does it work on private playlists? No. A playlist must be public or unlisted — private ones are invisible without a login, and this Actor uses none. The run reports that as the failure reason rather than returning an empty result.

Does it need a YouTube API key? No.

How much does 1,000 videos cost? $0.50, plus $0.00002 for the run.

Can I export the results to Excel or Google Sheets? Yes. Every run's dataset downloads as CSV, Excel, JSON, XML or RSS from the Storage tab, or straight from the API.

Can I connect it to Zapier, Make or n8n? Yes — Apify publishes integrations for all three, plus webhooks that fire when a run finishes.

Do I need to write code? No. Fill the form in the console and press Start. It is also available over MCP so an AI agent can call it directly.

Can I run it on a schedule? Yes, via Apify Schedules, webhooks, or the API.