Skip to content
scrapeatlas.Dashboard

Get a playlist

Try in Playground

Read a public playlist through the public browse API and follow its continuations (up to ten pages, about 1,100 videos): title, owner, total video count and every video's ID, title, thumbnail, URL, duration and channel. Longer playlists are returned truncated with playlist_truncated.

GET/v1/youtube/playlistx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
playlist_idstringrequiredquery

Playlist ID (the list parameter of a playlist or watch URL) or a playlist URL.

max 2048 chars

ExamplePLsynthetic000000000000000001
Response fields
34
requestIdstring

Operation identifier for correlation.

Upstream HTTP attempts, decoded bytes and duration.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data was returned; inspect status and coverage.

statusenum

success, partial (coverage.warnings names the omission), failed or challenged.

one of: success, partial

titlestring

Playlist title.

id, name, url and handle of the owning channel (null fields for auto-generated owners).

owner.idstringnullable

Always included.

owner.namestringnullable

Always included.

owner.urlstringnullable

Always included.

owner.handlestringnullable

Always included.

totalVideosintegernullable

Video count YouTube displays; null when not shown.

≥ 0

Videos in playlist order: id, title, thumbnail, url, lengthText, lengthSeconds and channel {title, url}.

up to 1100 items

videos.idstring

Always included.

videos.titlestring

Always included.

videos.thumbnailstringnullable

Always included.

videos.urlstring

Always included.

absolute HTTPS URL

videos.lengthTextstringnullable

Always included.

videos.lengthSecondsintegernullable

Always included.

≥ 0

Always included.

videos.channel.titlestringnullable

Always included.

videos.channel.urlstringnullable

Always included.

sourceUrlstring

Public YouTube URL the operation represents (page or API route).

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

source is public_api. Warning playlist_truncated when more pages remained after the tenth continuation or 1,100 videos. order: source_order.

coverage.sourceenum

Always included.

one of: public_page, public_api

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

up to 8 items

coverage.orderenumoptional

Optional.

one of: newest_first, oldest_first, ranked, relevance, source_order

Optional.

coverage.window.sincestringoptional

Optional.

coverage.window.untilstringoptional

Optional.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
13
HTTPfailure.codeMeaning
400invalid_requestMissing, malformed, duplicate or conflicting parameters, unsupported parameters or an unsafe URL.
400invalid_continuationYouTube rejected the supplied continuation token.
401unauthorizedMissing or invalid worker API key.
403restricted_pageThe channel, video, playlist or post is terminated, private, members-only or otherwise unavailable.
403age_restrictedThe video is age restricted and cannot be read logged out.
404not_foundYouTube reports no channel, video, playlist or post for the identifier.
429upstream_rate_limitedYouTube rate limited the request; no automatic retry.
502upstream_challengedYouTube rejected or challenged the request.
502unsupported_pageThe response lacks the embedded data, the data is malformed, or the resolved identity does not match the request.
502response_too_large payload_too_complexThe response exceeded byte, depth or node limits.
502unsafe_redirect request_limit upstream_errorThe bounded request could not complete.
503busyAll worker slots and the waiting queue are occupied.
504timeoutThe total retrieval deadline expired.