Youtube Playlist Scraper avatar

Youtube Playlist Scraper

Pricing

from $0.00005 / actor start

Go to Apify Store
Youtube Playlist Scraper

Youtube Playlist Scraper

Extract comprehensive data from YouTube playlists including video URLs, titles, thumbnails, view counts, like/dislike ratios, upload dates, and duration for every video. This scraper efficiently handles rate limiting, pagination, and data parsing.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Akash Kumar Naik

Akash Kumar Naik

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

0

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

YouTube Playlist Scraper is an Apify Actor that extracts comprehensive data from YouTube playlists — video URLs, titles, thumbnails, view counts, like/dislike ratios, upload dates, and duration for every video.

What Is YouTube Playlist Scraper?

YouTube Playlist Scraper pulls complete metadata for all videos in one or more YouTube playlists. It efficiently handles rate limiting, pagination, and data parsing while ensuring compliance with YouTube's terms of service, and returns structured JSON you can export or pipe into any workflow.

Key Features

  • Complete metadata for all videos in YouTube playlists
  • Multiple playlists — add one or more playlist URLs per run
  • Rate limiting & pagination handled automatically
  • Proxy support & user-agent rotation to minimize blocking risks (residential proxies by default)
  • Robust error handling and progress tracking
  • Export to JSON/CSV formats
  • Pay-per-event pricing — charged only per successfully extracted video

Supported Content

Any YouTube playlist URL (must contain youtube.com/playlist). Each extracted video includes its full metadata plus the playlist ID and playlist title it came from.

Use Cases

  • Data analysis and reporting
  • Content research workflows
  • Social media monitoring systems
  • YouTube channel performance tracking
  • Building video databases or archives

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsstringYes—URL of a YouTube playlist to scrape (must contain youtube.com/playlist)
maxItemsintegerNo0Maximum number of videos to extract from all playlists (0 for unlimited)
proxyConfigobjectNoResidential proxyProxy configuration to prevent IP blocking

Example input:

{
"startUrls": "https://youtube.com/playlist?list=PLObrtcm1Kw6Ohp5OC9ymNNBVEgTa2DZuh",
"maxItems": 0
}

Sample Output

{
"id": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Music Video)",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"viewCount": 1000000000,
"likeCount": 10000000,
"dislikeCount": 100000,
"likeRatio": 0.98,
"uploadDate": "2009-10-24",
"duration": 212,
"channelName": "RickAstleyVEVO",
"channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"playlistId": "PL7u4BG8iCLjkCzP5krcHZ-X5DsUl0xdg9",
"playlistTitle": "Popular Videos"
}

Output Fields

FieldDescription
idYouTube video ID
titleVideo title
urlFull YouTube video URL
thumbnailUrlVideo thumbnail URL
viewCountNumber of views
likeCountNumber of likes
dislikeCountNumber of dislikes
likeRatioRatio of likes to total votes
uploadDateUpload date (YYYY-MM-DD)
durationVideo duration in seconds
channelNameChannel name
channelUrlChannel URL
playlistIdPlaylist ID
playlistTitlePlaylist title

How to Use

  1. Create a new task in Apify Console or open the Actor page on Apify Store.
  2. Add one or more YouTube playlist URLs to scrape (must contain youtube.com/playlist).
  3. Configure proxy settings if needed (recommended for large extractions).
  4. Set the maximum number of videos to extract (optional; 0 for unlimited).
  5. Run the Actor.
  6. Download results in JSON or CSV format.

How to Use via API

cURL:

curl -X POST "https://api.apify.com/v2/acts/akash9078/youtube-playlist-scraper/runs" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": "https://youtube.com/playlist?list=PLAYLIST_ID", "maxItems": 0}'

Python:

import requests
response = requests.post(
"https://api.apify.com/v2/acts/akash9078/youtube-playlist-scraper/runs",
headers={"Authorization": "Bearer YOUR_APIFY_TOKEN"},
json={"startUrls": "https://youtube.com/playlist?list=PLAYLIST_ID", "maxItems": 0},
)
print(response.json())

Node.js with Apify Client:

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('akash9078/youtube-playlist-scraper').call({
startUrls: 'https://youtube.com/playlist?list=PLAYLIST_ID',
maxItems: 0,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing

EventPriceWhen it's charged
Video Extracted (video-extracted)$0.01 per videoEach video successfully extracted from playlists with complete metadata
Synthetic Actor Start (apify-actor-start)$0.00005Synthetic event automatically charged by Apify for Actor initialization

Limitations

  • Only playlist URLs containing youtube.com/playlist are accepted
  • Intended use complies with YouTube's terms of service
  • Very large playlists take proportionally longer to extract

FAQ

Can I scrape multiple playlists in one run?

Yes — add one or more playlist URLs, and maxItems applies across all playlists combined.

Is there a limit on the number of videos?

Set maxItems: 0 for unlimited extraction, or cap the run at any number.

Do I need to configure a proxy?

No — the Actor uses Apify residential proxies by default to minimize blocking, but you can adjust the proxy configuration if needed.

Does it include transcripts?

No. For playlist metadata plus transcripts, use YouTube Playlist Scraper with Transcript.

If you need more YouTube data from Apify, check out my other Apify Actors:


Built and maintained by akash9078 on the Apify platform.