Best YouTube playlist scrapers and how to export a playlist
A playlist export is a common small job: a course, a conference, a creator's series. You want every video with its title, date and stats in a spreadsheet. Here are the tools that do it and the tradeoffs.
Option 1: the Data API with playlistItems.list
playlistItems.list costs 1 unit per call and returns up to 50 items a page. You page with nextPageToken. Google Items give you video IDs, titles and positions, but not view counts. For stats, pass the IDs to videos.list, also 1 unit.
The quota math is friendly: a 1,000-video playlist takes 20 pages, about 40 units with the stats calls. You can export hundreds of large playlists a day inside the free quota.
GET https://www.googleapis.com/youtube/v3/playlistItems
?part=contentDetails,snippet
&playlistId=PL...
&maxResults=50
&key=YOUR_GOOGLE_KEY
Watch out for deleted and private videos. They can remain in a playlist as items while videos.list returns no stats for them. Keep the playlist position so you can show the gaps.
Option 2: yt-dlp
yt-dlp lists a playlist without downloading anything:
yt-dlp --flat-playlist -J "https://www.youtube.com/playlist?list=PL..." > playlist.json
-J prints the whole playlist as one JSON line, and --flat-playlist skips visiting each video, so it is fast but some fields may be missing. Drop the flag for full metadata, at the cost of one page load per video. source
It is free and needs no key. You run it yourself, and recent versions want a JavaScript runtime installed for full YouTube support.
To get a CSV straight away, use an output template. The fields are yt-dlp's own names:
yt-dlp --flat-playlist --print "%(playlist_index)s,%(id)s,%(title)s" "https://www.youtube.com/playlist?list=PL..." > playlist.csv
Titles can contain commas, so open the file with a CSV tool that handles quotes, or use a tab between fields instead.
Option 3: scraper services and data APIs
Large scraper services focus on videos, channels and comments; check that playlist input is supported before you buy. Per-call APIs such as ScrapeIO have playlist endpoints that return videos with stats in one response.
Comparison
| Data API | yt-dlp | ScrapeIO | |
|---|---|---|---|
| Key needed | Google API key | None | ScrapeIO key |
| Per page | 50 items, 1 unit | Whole playlist | One page, 1 credit |
| Views and likes | Second call | Without flat mode | Included |
| Runs on a server | Yes | You maintain it | Yes |
| Cost | Free in quota | Free | $0.99 to $1.88 per 1,000 calls |
Turning a playlist into a useful sheet
- Keep position, video ID, title, published date, duration, views, likes, comments.
- Add views per day: views divided by days since published.
- For a course or series, plot views by position. A steep drop after part one is normal; a second drop shows where viewers quit.
- Re-run monthly and keep the old file. Growth per video is more telling than totals.
- For a conference playlist, sort by views per day to find the talks people still watch.
- Flag rows with no stats. Those are usually private, deleted or region-blocked videos.
Google's developer policies say stored API data must be refreshed or deleted after 30 days, so plan your refresh if you use the official API. policies
Questions people ask
Can I export a private playlist? Only as its owner. Private playlists are not public, so public tools cannot see them; with the official API you need the owner's OAuth sign-in.
What about unlisted playlists? Anyone with the link can open them, so tools that take a playlist ID usually work.
Why are some titles "[Deleted video]" or "[Private video]"? The item is still in the playlist, but the video is gone or hidden. Keep the row and leave the stats empty.
Doing it with ScrapeIO
The YouTube playlist API takes a playlist ID or URL and returns its details and videos with views and likes. To find a channel's playlists first, use the channel playlists API. Page through with data.cursor until data.has_more is false.
curl "https://scrapeio.com/v1/youtube/playlist?playlist_id=PL..." -H "x-api-key: YOUR_KEY"
Sources
Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.
- https://developers.google.com/youtube/v3/docs/playlistItems/list
- https://github.com/yt-dlp/yt-dlp
- https://developers.google.com/youtube/terms/developer-policies
100 free credits, no card. Credits never expire.
Get API key