Youtube Playlist Scraper avatar

Youtube Playlist Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Youtube Playlist Scraper

Youtube Playlist Scraper

🎬 YouTube Playlist Scraper extracts playlist metadata—titles, URLs, durations, publish dates, views, channels, thumbnails & descriptions. ⚡ Perfect for content research, SEO audits, reporting & automation. 🔎 Exports CSV/JSON for fast, reliable workflows.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeLabs

ScrapeLabs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Youtube Playlist Scraper

The Youtube Playlist Scraper is a production-ready tool that extracts structured video and playlist metadata from public YouTube playlists at scale. It solves the manual copy-paste problem by turning any playlist into clean, analyzable data — ideal for marketers, developers, data analysts, and researchers. Whether you need a YouTube playlist extractor for audits, a YouTube playlist URL scraper for reporting, or a fast way to export a YouTube playlist to CSV/JSON, this actor delivers reliable results you can automate.

What data / output can you get?

Below are the exact fields the actor pushes to the Apify dataset (when full details are enabled). You can export the dataset to CSV, JSON, Excel, or integrate via API.

Data typeDescriptionExample value
videoIdUnique video identifierI-beHln9Gus
titleVideo title textCold Email Automation with LangChain, Lemlist & Apify
videoUrlCanonical watch URLhttps://www.youtube.com/watch?v=I-beHln9Gus
thumbnail.urlHighest-quality thumbnail URL detectedhttps://i.ytimg.com/vi/I-beHln9Gus/maxresdefault.jpg
durationRaw duration as shown on YouTube5:54
durationLabelHuman-readable duration label5 minutes, 54 seconds
viewCountViews text (if available from videoInfo)5.7K views
videoInfoCombined views and published time5.7K views • 2 years ago
channel.nameChannel display nameRabbitmetrics
channel.idHandle-derived channel IDrabbitmetrics
channel.urlChannel URLhttps://www.youtube.com/@rabbitmetrics
playlistInfo.playlistIdPlaylist IDPLObrtcm1Kw6Odq5ks2R3bbJUGVVwQF-vw
playlistInfo.playlistTitlePlaylist titleCommunity Tutorials
playlistInfo.playlistUrlPlaylist URLhttps://www.youtube.com/playlist?list=PLObrt...
playlistInfo.ownerPlaylist owner (if detected)Apify
playlistInfo.totalDurationTotal playlist duration text (if present)58 minutes
extractedAtUTC timestamp when the record was created2025-11-24T02:15:07.216427Z
isPlayablePlayability flagtrue

Notes:

  • When includeVideoDetails is off, each item contains a reduced subset: videoId, title, videoUrl, duration, viewCount, channel.name, and playlistInfo.playlistTitle.
  • Additional playlistInfo fields may be present (playlistDescription, lastUpdated, totalVideosInPlaylist, totalDurationMinutes) depending on availability.

Key features

  • ⚡ Real-time dataset streaming
    Results are pushed to the Apify dataset as each video is extracted, so you can start consuming data immediately during the run.

  • 🔗 URL and username support
    Paste direct playlist URLs or channel usernames (with or without @). For usernames, the actor discovers playlists from the user’s /playlists page and processes them automatically.

  • 🧭 Smart proxy fallback
    Starts without a proxy for speed, then automatically falls back to datacenter (SHADER) and residential proxies if blocked — keeping extraction stable at scale.

  • 🎯 Granular limits
    Control per-playlist depth with maxVideos (0 means no limit, subject to schema max). Useful for quick samples, partial exports, or full runs.

  • 🧩 Toggle detailed output
    Use includeVideoDetails to choose between rich records (with thumbnail.url, videoInfo, durationLabel, channel, playlistInfo, extractedAt) or a compact subset.

  • 💾 Flexible exports
    Export your dataset as CSV, JSON, or Excel to power analytics, “YouTube playlist to CSV” workflows, dashboards, and reports.

  • 👩‍💻 Developer-friendly automation
    Orchestrate via the Apify API, connect to your pipelines (Python, Node.js), and use it as a repeatable YouTube playlist API scraper in production.

  • 🔒 No login required
    Works on public playlists — no cookies or account needed. Ideal for a reliable YouTube playlist scraper online without browser add-ons.

How to use Youtube Playlist Scraper - step by step

  1. Create or log in to your Apify account
    Access the actor from your dashboard.

  2. Open the actor and prepare inputs
    In the Run input, use playlistInputs to add one or more entries:

    • Playlist URLs (e.g., https://www.youtube.com/playlist?list=...)
    • Channel usernames with or without @ (e.g., @apify or apify)
      Note: Keyword inputs are not supported in the current version (the actor logs “Keyword search not yet implemented”).
  3. Set limits
    Adjust maxVideos to control how many videos to scrape per playlist. Use 0 for no limit (schema max applies).

  4. Choose output detail
    Set includeVideoDetails: true for rich records (default) or false for a compact schema.

  5. Configure proxy (optional)
    Leave proxyConfiguration.useApifyProxy false to start direct. The actor automatically falls back to datacenter → residential proxies if needed.

  6. Run the actor
    Click Start. The run logs will show resolution (URL or username), proxy choices, and progress. Items stream to the dataset in real time.

  7. Download results
    Open the Dataset tab and export as CSV, JSON, or Excel. Use this as a YouTube playlist to CSV/JSON workflow for analytics and reporting.

Pro Tip: Integrate the dataset feed with your internal pipelines or dashboards to build a “YouTube playlist to JSON” automation without relying on a chrome extension to export YouTube playlist data.

Use cases

Use case nameDescription
SEO audits from playlistsAnalyze titles, durations, and cadence to benchmark competitors; export to CSV for quick scoring and insights.
Content research for marketersAggregate video metadata across playlists to inform themes, publish frequency, and performance indicators.
Channel playlist monitoringTrack newly added videos from channel playlists using usernames and stream updates to your reporting stack.
Data analysts: performance snapshotsExtract viewCount and videoInfo for historical snapshots and time-series trend analysis.
Developer API pipelinesUse the Apify API to schedule runs and feed normalized JSON into ETL jobs, apps, or data warehouses.
Researchers & educatorsBuild structured datasets of video metadata for academic studies without manual copy-paste.
Operations reportingTurn curated playlists into spreadsheets for team reviews, content calendars, and QA checklists.

Why choose Youtube Playlist Scraper?

The Youtube Playlist Scraper prioritizes accuracy, automation, and reliability for production workflows.

  • ✅ Precise, structured output with real field names
  • 🌍 No-login, public data extraction for frictionless setup
  • 📈 Scales from small lists to large playlists with proxy fallback
  • 👩‍💻 Developer access via Apify API for CI/CD pipelines
  • 🛡️ Safe-by-design: public pages only; no private or authenticated data
  • 💸 Cost-effective vs unstable browser extensions and manual exports
  • 🔗 Better than one-off tools: robust infrastructure, retries, and datacenter/residential proxy strategy

In short: a reliable YouTube playlist export tool you can run repeatedly and integrate anywhere.

Yes — when done responsibly. This actor accesses only publicly available YouTube pages and does not log in or bypass restrictions.

Guidelines for compliant use:

  • Scrape only public playlist pages and public video metadata.
  • Follow YouTube’s Terms of Service and applicable regulations (e.g., GDPR/CCPA).
  • Do not republish copyrighted content; use metadata for analysis and internal reporting.
  • Avoid attempts to access private playlists or authenticated resources.
  • Consult your legal team for edge cases and jurisdiction-specific rules.

Input parameters & output format

JSON input example

{
"playlistInputs": [
"https://www.youtube.com/playlist?list=PLObrtcm1Kw6Odq5ks2R3bbJUGVVwQF-vw",
"@apify"
],
"maxVideos": 10,
"includeVideoDetails": true,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

  • playlistInputs (array of string) — Paste one or more: playlist URLs or channel usernames (with or without @). Bulk input supported. Required: Yes. Default: none.
  • maxVideos (integer) — How many videos to scrape per playlist. Use 0 for no limit (all videos). Min: 0, Max: 1000. Required: No. Default: 10.
  • includeVideoDetails (boolean) — When true, each row includes extra fields (thumbnail, videoInfo, durationLabel, full channel/playlist, extractedAt). When false, a compact subset is pushed. Required: No. Default: true.
  • proxyConfiguration (object) — Optional. Starts without proxy; auto fallback to datacenter → residential if blocked. When provided, respects useApifyProxy and related settings. Required: No. Default: {"useApifyProxy": false}.

Notes:

  • Keyword inputs are currently not supported. The actor logs a warning: “Keyword search not yet implemented”.

JSON output example

[
{
"thumbnail.url": "https://i.ytimg.com/vi/I-beHln9Gus/maxresdefault.jpg",
"title": "Cold Email Automation with LangChain, Lemlist & Apify",
"videoUrl": "https://www.youtube.com/watch?v=I-beHln9Gus",
"videoId": "I-beHln9Gus",
"duration": "5:54",
"durationLabel": "5 minutes, 54 seconds",
"isPlayable": true,
"channel": {
"name": "Rabbitmetrics",
"id": "rabbitmetrics",
"url": "https://www.youtube.com/@rabbitmetrics"
},
"videoInfo": "5.7K views • 2 years ago",
"viewCount": "5.7K views",
"playlistInfo": {
"playlistId": "PLObrtcm1Kw6Odq5ks2R3bbJUGVVwQF-vw",
"playlistUrl": "https://www.youtube.com/playlist?list=PLObrtcm1Kw6Odq5ks2R3bbJUGVVwQF-vw",
"playlistTitle": "Community Tutorials",
"playlistDescription": null,
"lastUpdated": null,
"owner": "Apify",
"videoCount": 10,
"totalVideosInPlaylist": 0,
"totalDuration": "58 minutes",
"totalDurationMinutes": 58
},
"extractedAt": "2025-11-24T02:15:07.216427Z"
}
]

Field notes:

  • viewCount is derived from videoInfo when present and may be absent for some videos.
  • playlistInfo fields depend on availability in ytInitialData and can be null or defaulted.
  • When includeVideoDetails is false, output is reduced to: videoId, title, videoUrl, duration, viewCount, channel.name, playlistInfo.playlistTitle.
ToolTool
💬 YouTube Comments Scraper📝 YouTube Transcript Scraper
🔎 YouTube Search Scraper🎥 YouTube Video Details Scraper
📺 YouTube Channel Finder🎬 YouTube Shorts Scraper
📊 YouTube Metadata Scraper🔥 YouTube Trending Scraper

FAQ

Is there a free tier or trial?

Yes. You can run smaller jobs on Apify’s free/trial plan to evaluate the actor before scaling. Billing depends on your Apify account.

Can I export a YouTube playlist to CSV or Excel?

Yes. After the run, open the Dataset and export to CSV, JSON, or Excel. This supports “YouTube playlist to CSV” and “YouTube playlist to JSON” workflows.

Do I need to sign in to YouTube or provide cookies?

No. The actor works on publicly available playlist pages and does not require login or cookies.

Does it work with channel usernames instead of playlist URLs?

Yes. Provide @username (or just the username) in playlistInputs. The actor fetches the user’s /playlists page, extracts up to 10 playlist URLs, and processes the first 5 automatically.

Can I input keywords to find playlists?

Not yet. Keyword inputs are currently unsupported; the actor logs “Keyword search not yet implemented.” Use direct playlist URLs or channel usernames.

How many videos can I scrape per playlist?

You control this via maxVideos. Set 0 for no limit (subject to the schema maximum of 1000 and playlist size). The actor also streams results as they’re found.

What happens if requests get blocked?

The actor starts with direct requests, then falls back to a datacenter proxy (SHADER), and finally tries residential proxies with retries. This ensures resilient extraction.

What fields are returned in the output?

When includeVideoDetails is true, you’ll get videoId, title, videoUrl, duration, durationLabel, thumbnail.url, videoInfo, viewCount (if present), channel {name, id, url}, playlistInfo {...}, isPlayable, and extractedAt. With includeVideoDetails false, a compact subset is returned.

Final thoughts

The Youtube Playlist Scraper is built to turn public YouTube playlists into structured, analysis-ready data. It delivers fast, reliable, and automation-friendly extraction with real-time streaming, flexible limits, and resilient proxy fallback. Perfect for marketers, developers, analysts, and researchers, you can export results to spreadsheets or wire them into your API pipelines to power reporting and insights. Start extracting smarter playlist metadata at scale — without extensions, brittle scripts, or manual work.