YouTube Playlist Scraper avatar

YouTube Playlist Scraper

Pricing

$1.99 / 1,000 videos

Go to Apify Store
YouTube Playlist Scraper

YouTube Playlist Scraper

YouTube playlist scraper with no API key. Every video in a playlist, in order: title, channel, views, duration, thumbnail, position. Optional details add exact publish date, likes, description and tags. Bulk, JSON/CSV/Excel. $1.99 per 1,000 videos.

Pricing

$1.99 / 1,000 videos

Rating

0.0

(0)

Developer

Quiet Harvest

Quiet Harvest

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get every video in a YouTube playlist, in playlist order — title, channel, views, duration, thumbnail and position. No API key, no login, no quota. Turn on video details for the exact publish date, likes, full description and tags.

$1.99 per 1,000 videos.


Quick start

{
"playlistUrls": ["https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH"],
"maxVideosPerPlaylist": 500
}

Playlist links, bare playlist IDs, and watch links that contain &list= all work. Playlists longer than 100 videos are paged through automatically — tested on a 246-video playlist.

Output

FieldTypeNotes
playlist_idstring
playlist_titlestring
playlist_indexintegerPosition in the playlist, starting at 1
video_idstring
urlstring
titlestring
channelstring
channel_urlstring or null
duration_textstringe.g. 13:54
view_countintegerParsed from the playlist page (rounded, e.g. 1.3M → 1300000)
view_count_textstringAs YouTube shows it
published_textstringRelative, e.g. 10y ago
published_ts_approxintegerUnix time estimated from the relative text
thumbnailstring
is_shortboolean

With Include video details on, each row also gets:

FieldNotes
published_atExact ISO 8601 publish time
duration_seconds
like_count
descriptionFull description
keywordsThe uploader's tags
hashtagsHashtags found in the description
channel_id
subscriber_count
comment_count_approxAs shown on the video page (e.g. 4.2K → 4200)
is_live

Sample row

{
"playlist_id": "PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH",
"playlist_title": "Coding Challenges",
"playlist_index": 1,
"video_id": "17WoOqgXsRM",
"url": "https://www.youtube.com/watch?v=17WoOqgXsRM",
"title": "Coding Challenge 1: Starfield Simulation",
"channel": "The Coding Train",
"duration_text": "13:54",
"view_count": 1300000,
"published_text": "10y ago"
}

Use it from code

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("reportable_broth/youtube-playlist-scraper").call(run_input={
"playlistUrls": ["https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH"],
"includeVideoDetails": True,
})
for v in client.dataset(run.default_dataset_id).iterate_items():
print(v["playlist_index"], v["title"], v.get("published_at"))

Works the same from JavaScript, n8n, Make, Zapier, or an AI agent through Apify's MCP server. Export as JSON, CSV or Excel from the dataset tab.

FAQ

Do I need a YouTube Data API key? No. No Google Cloud project and no quota units.

Is the order kept? Yes. playlist_index is the position in the playlist.

What about private or unlisted playlists? Public playlists only. A private or deleted playlist returns nothing and is not charged.

Can I get the transcripts of a whole playlist? Use YouTube Transcript Scraper — it takes playlist links too and returns full text, timed segments, SRT/VTT and translation.

Our other Actors

Disclaimer

This Actor collects publicly available data only. You are responsible for how you use it, including compliance with YouTube's terms of service and applicable law.