Endpoints
9 endpoints return playlists on Amazon, Apple Music, Instagram, Pinterest, Spotify and TikTok.
- GETAmazon Shop Lists API
/v1/amazon/shop_lists - GETApple Music Playlist Search API
/v1/applemusic/search_playlists - GETApple Music Top Playlists API
/v1/applemusic/top_playlists - GETInstagram Highlights API
/v1/instagram/highlights - GETPinterest Board API
/v1/pinterest/board - GETPinterest Boards API
/v1/pinterest/boards - GETSpotify Playlist API
/v1/spotify/playlist - GETSpotify Playlist Search API
/v1/spotify/search_playlists - GETTikTok Playlists API
/v1/tiktok/playlists
Schema
Single-item endpoints return this object as data; list endpoints return an array of them as data with a page object. The standard meta comes with every response.
platformstringPlatform ID (tiktok, youtube, facebook, …).
idstringPlatform-native playlist ID (string): TikTok's playlist (mix) or collection ID, YouTube's list ID (PL…), Facebook's video list ID.
urlstring uriCanonical playlist URL.
typestringplaylist: a list its owner curates and orders (TikTok playlists, YouTube playlists, Facebook playlists and series); collection: posts an account saved from any creator into a named public folder (TikTok collections). New values may be added; treat unknown values as playlist.
One ofplaylistcollection
platform_typestringnullableThe platform's own label, lowercase (mix, collection, playlist, series, podcast, …).
titlestringnullableName its owner gave it.
descriptionstringnullableDescription as plain text; null when it has none or the platform shows none (TikTok).
ownerobjectThe account that curates it (for a collection, the account that saved the posts, not their authors). Where a platform's curators are not accounts (Apple Music), what it states of them: a name, perhaps a page and a picture, with id and username null, and every field null when it names no one.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
thumbnail_urlstring urinullableCover image URL (the owner's chosen cover, else the platform's pick, often the first post's). Platform CDN URLs can expire within hours.
is_collaborativebooleannullableWhether people its owner invites can add to it as well (a collaborative playlist, a group board); null where the platform doesn't say.
metricsobjectCounts at fetch time; null = hidden or not exposed, 0 = zero.
ShowHide 1 child field
post_countintegernullablePosts in it as the platform counts them (it may count posts that are no longer public, so a walk of its posts can return fewer).
platform_specificobjectFields only this platform has, under its ID (platform_specific.<platform>); each null when unknown.
ShowHide 5 child fields
youtubeobjectnullableA YouTube playlist's own fields.
ShowHide 2 child fields
view_countintegernullableViews YouTube counts for the playlist as a whole.
updated_atstring date-timenullableWhen its owner last changed it, RFC 3339 UTC; YouTube shows only a date (listed in approximate_fields).
spotifyobjectnullableA Spotify playlist's own fields.
ShowHide 7 child fields
follower_countintegernullableListeners who follow the playlist, exact.
is_collaborativebooleannullableWhether people its owner invites can add to it.
is_algorithmicbooleannullableWhether Spotify marks it as assembled by its algorithm rather than by its editors; null where Spotify says neither, as on a listener's playlist or a chart.
is_user_createdbooleannullableTrue for a listener's playlist, false for one of Spotify's own.
is_deleted_by_ownerbooleannullableWhether its owner deleted it: Spotify goes on serving such a playlist to anyone with its link.
created_atstring date-timenullableWhen it was created, RFC 3339 UTC; null on Spotify's own playlists, which don't state it.
updated_atstring date-timenullableWhen it last changed, RFC 3339 UTC.
applemusicobjectnullableAn Apple Music playlist's or station's own fields.
ShowHide 17 child fields
storefrontstringnullableThe Apple Music store this answer is from, as a lowercase country code (us, jp).
rankintegernullablePosition on the requested chart (1 = top); null off a chart.
editorial_summarystringnullableApple's one-line note on it; null when none.
curator_idstringnullableApple's ID of the playlist's curator; null when none is linked, as on a station.
playlist_typestringnullableWho makes the playlist, as Apple says: editorial, external (a curator's), personal-mix, user-shared, …; null on a station. New values may be added.
editorial_kindstringnullableWhat Apple says an editorial playlist is built around: artist-franchise (one artist, such as their Essentials or a set list); null when it says nothing, and on a station. New values may be added.
editorial_sub_kindstringnullableApple's finer word for that: artist-set-list, artist-created-set-list; null when it says nothing, and on a station. New values may be added.
last_modified_atstring date-timenullableWhen the playlist last changed, RFC 3339 UTC; null on a station.
is_chartbooleannullableThe playlist is one of Apple's charts; null on a station.
is_collaborativebooleannullableSeveral people edit the playlist; null on a station.
audio_traitsstring[]The audio formats the playlist comes in; [] on a station or when none. New values may be added.
station_kindstringnullableA station's kind as Apple says: streaming (a live stream), artistOnly, songSeeded, …; null on a playlist. New values may be added.
media_kindstringnullableA station's medium, audio or video; null on a playlist.
bandstringnullableHow a live station is carried, as Apple says: FM, AM, DAB, Sat, Stream, …; null when it says nothing, and on a playlist. New values may be added.
frequencystringnullableA broadcast station's frequency as Apple states it, in its band's usual unit (90.1 on FM, 1026 on AM); a station on several frequencies lists them separated by / (105.1/105.3/105.7); null when it states none, and on a playlist.
is_livebooleannullableA station that streams live rather than picking songs; null on a playlist.
is_subscription_requiredbooleannullableA station only subscribers can play; null on a playlist.
pinterestobjectnullableA Pinterest board's or board section's own fields.
ShowHide 8 child fields
follower_countintegernullableAccounts following the board, exact; null on a section, which has no followers of its own.
created_atstring date-timenullableWhen the board was created, RFC 3339 UTC; null on a section and when the source does not state it.
privacystringnullablepublic, or protected: a board Pinterest keeps off its owner's profile and out of search engines but shows anyone with its link (a shop's catalog of products). New values may be added.
collaborator_countintegernullableAccounts other than its owner that can save pins to the board, exact; 0 on a board only its owner saves to.
collaboratorsobject[]The accounts other than its owner that can save pins to the board, as Pinterest lists them; [] when none.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
section_countintegernullableSections the board is divided into; 0 when none, null on a section.
interestsstring[]The interests Pinterest relates the board to, each an ideas page of its own, in its order; [] when none.
boardobjectnullableFor a section, the board it is part of; null on a board.
ShowHide 3 child fields
idstringnullableThe board's ID.
titlestringnullableThe board's name.
urlstring urinullableThe board's link.
amazonobjectnullableAn Amazon influencer's idea list's own fields.
ShowHide 4 child fields
product_countintegernullableProducts in the list, as its card counts them.
heart_countintegernullableHearts shoppers gave the list (Amazon's likes), exact.
is_pinnedbooleannullableTrue when the influencer pinned the list to the top of its storefront.
productsobject[]The list's first products as its card shows them (up to 20), in its order; the path is in approximate_fields when the list holds more.
ShowHide 3 child fields
asinstringThe product's ASIN (what amazon.product takes).
urlstring uriThe product's page in the list's marketplace.
image_urlstring urinullableThe product's image URL, as the card shows it.
approximate_fieldsstring[]JSON paths of values rounded by the platform, date-only or parsed from display text. [] when all exact.
unknown_fieldsstring[]JSON paths of lists whose [] means unknown rather than none (a source that cannot see them); null already means unknown for every other field. [] when every list is known.
Item errors
Besides the request-level errors every endpoint can return, playlist endpoints return:
| Code | HTTP | Retry | Meaning | What to do |
|---|---|---|---|---|
not_found | 404 | No | The item does not exist or was deleted. On GET /v1/requests/{id}/response: the response was not kept (details.reason says why). | Check the link or ID. Do not retry. |
private_or_unavailable | 403 | No | The item exists but is not public: it is private, age- or region-restricted, or needs a login to view. It shares 403 with forbidden (which is about the key), so branch on the code. | Only public items can be fetched. Do not retry. |