~ / endpoints / Playlist API

YouTube Playlist Scraper API

Our YouTube playlist scraper turns any playlist ID or URL into structured JSON: the playlist title, owner channel, total video count, and the ordered list of videos with positions, IDs, titles, views, and thumbnails, from a single REST call.

Get a free API keyAll endpoints
1,000
free requests / mo
2.6s
median response
pay-per-success
failed fetches are free
JSON
structured output
the problem

Why YouTube Playlist data is hard to get

A YouTube playlist page does not hand you a clean video list: it loads the first batch in the HTML, the rest through JavaScript, and serves a consent wall to datacenter IPs first. The official playlistItems.list method works but needs a Google Cloud project, an authorized request, and 50-item pageToken paging before you see a single title.

quickstart

The YouTube Playlist Scraper API in one request

cURL
curl "https://api.youtubescraperapi.com/api/v1/youtube/playlist?playlist_id=PLjVLYmrlmjGfSYkgH-_jgC8KMxyRzq7US&api_key=$API_KEY"
Python
import requests

resp = requests.get(
    "https://api.youtubescraperapi.com/api/v1/youtube/playlist",
    params={
        "playlist_id": "PLjVLYmrlmjGfSYkgH-_jgC8KMxyRzq7US",
        "api_key": "YOUR_API_KEY",
    },
    timeout=60,
)
playlist = resp.json()

print(playlist["title"], "-", playlist["video_count"], "videos")
print("Channel:", playlist["channel"])

for video in playlist["videos"]:
    print(video["position"], video["id"], video["title"])
parameters

Parameters

ParameterRequiredDefaultNotes
playlist_idrequired-The YouTube playlist ID, the string after list= in a playlist URL (for example PLjVLYmrlmjGfSYkgH-_jgC8KMxyRzq7US).
urloptional-A full playlist URL instead of a bare ID. The ID is parsed out of it, so pass either playlist_id or url.
api_keyrequired-Your API key. Free tier includes 1,000 requests per month.
response

What the YouTube Playlist Scraper API returns

200 OK
{
  "playlist_id": "PLjVLYmrlmjGfSYkgH-_jgC8KMxyRzq7US",
  "title": "Web Scraping Full Free Course by WsCube Tech",
  "channel": "WsCube Tech",
  "video_count": 7,
  "views": 196099,
  "videos": [
    {
      "position": 1,
      "id": "FagmjKdOIDs",
      "title": "Web Scraping Course For Beginners 2024",
      "url": "https://www.youtube.com/watch?v=FagmjKdOIDs",
      "thumbnail": "https://i.ytimg.com/vi/FagmjKdOIDs/hq720.jpg",
      "channel": "WsCube Tech",
      "views": "203K views",
      "published": "2 years ago"
    }
  ],
  "videos_returned": 7
}
FieldTypeDescription
playlist_idstringThe playlist ID that was scraped.
titlestringThe playlist title as shown on the playlist page.
channelstringThe name of the channel that owns the playlist.
video_countintegerThe total number of videos the playlist reports.
viewsintegerThe total view count for the playlist.
videosarrayThe ordered video list. Each entry is { position, id, title, url, thumbnail, channel, views, published }.
videos_returnedintegerHow many video entries came back in the videos array.
use cases

What you can build using the API

>

Export a playlist to CSV

Pull the ordered video list with titles, URLs, and positions, and write them straight to a CSV or spreadsheet for archiving or review.
>

Audit and back up your own playlists

Fetch the full video list for each playlist on a schedule so you have a record of every video, even after some get deleted or set to private.
>

Build a video dataset

Walk a set of public playlists, collect every video ID and title, and feed the list into a downstream pipeline that pulls per-video metadata or transcripts.
>

Track playlist changes over time

Re-fetch a playlist on a cadence and diff the returned video list to see what was added or removed between runs.
>

Seed competitor and topic research

Collect the videos a channel groups into a themed playlist, then pivot each video into deeper extraction for content and topic analysis.
>

Power a no-key playlist tool

Back a playlist-to-list or playlist-export feature without standing up OAuth, a Google Cloud project, or your own headless browser fleet.
why youtubescraperapi.com

Why teams choose our YouTube Playlist Scraper API

Our YouTube playlist scraper runs the fetch-render-parse loop on our infrastructure: rotating proxies, anti-bot handling, JS rendering, and retries behind one youtube/playlist call that returns the ordered video list as parsed JSON. A playlist ID goes in and the title, channel, video count, and every video row come out, with no Google Cloud setup, no OAuth, and no page-token loop to write. For structured per-video JSON, point your pipeline at our YouTube video scraper, or pull a creator's full uploads with the YouTube channel scraper.

*

Parsed video list, no HTML

We render the playlist page and read the video entries, then return them as a flat ordered array with positions and IDs, so you never parse markup yourself.
*

Proxy rotation built in

Requests route through rotating datacenter and residential pools, so YouTube sees browser-like traffic and you do not manage proxies.
*

Consent and JS handled

We clear YouTube's consent interstitial and execute the page's JavaScript before parsing, so the list comes back fully populated.
*

Pay for success

Failed fetches retry automatically across datacenter, residential, and premium tiers, and you are billed only for results that return.
*

Stable JSON schema

Every response uses the same field names and types, so the same parsing code keeps working when YouTube changes its markup.
comparison

YouTube Playlist Scraper API vs the official YouTube API

FactorOur YouTube playlist APIDIY headless browserYouTube Data API (playlistItems.list)
SetupOne api_keyInstall and host Playwright or Puppeteer, manage browsersGoogle Cloud project plus an authorized request
Returns the video list parsedYes, ordered JSON arrayNo, you parse the rendered DOMYes, structured items, 50 per page
Consent screen and JSHandled for youYou script the consent click and scrollingNot applicable, it is an API
Proxies and blocksRotating proxies and retries includedYou source proxies and handle bansNo blocks, but quota and auth apply
Paging a long playlistReturned in the video list for youScroll and wait in the browser yourselfChain pageToken, 50 items per call
Quota or key from YouTubeNone, no YouTube key neededNone, but you absorb the block riskDaily quota (default 10,000 units), 1 unit per call
pricing

Start free, scale when ready

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is the YouTube playlist scraper API?

It is a single REST endpoint that takes a YouTube playlist ID or URL and returns the playlist title, owner channel, total video count, views, and the ordered list of videos (each with its position, id, title, url, thumbnail, channel, views, and published label) as structured JSON. Our API fetches and parses the playlist for you, so you do not run a Google Cloud project or maintain scraping infrastructure. For structured per-video JSON, use our YouTube video scraper, and for a creator's full upload list use the YouTube channel scraper.

What does the response return for a playlist?

Each response returns playlist_id, title, channel, video_count, views, a videos array, and videos_returned. Every entry in the videos array carries its position, id, title, url, thumbnail, channel, views, and published label. Every field uses the same name and type on each call.

Can I look up a playlist by its URL instead of the ID?

Yes. Pass the full playlist URL in the url parameter and we parse the playlist ID out of it. You can send either playlist_id or url, so a link copied straight from the browser works.

Do I need a YouTube API key or OAuth to use this?

No. This endpoint fetches the public playlist for you, so you do not need a Google Cloud project, an API key from YouTube, or OAuth credentials. You only need your API key. The official YouTube Data API path does require a properly authorized request and counts every call against a daily quota.

How much does it cost and is there a free tier?

The free tier includes 1,000 requests per month. Paid plans run to about $0.60 per 1,000 requests on Pro, with pay-as-you-go top-ups around $0.90 per 1,000. You are billed only for requests that succeed, with a median response around 2.6 seconds.

Get playlist api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints