Channel Playlists
curl --request GET \
--url https://api.sociavault.com/v1/scrape/youtube/channel/playlists \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/youtube/channel/playlists"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/youtube/channel/playlists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sociavault.com/v1/scrape/youtube/channel/playlists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sociavault.com/v1/scrape/youtube/channel/playlists"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/youtube/channel/playlists")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/youtube/channel/playlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"videos": {},
"channels": {},
"playlists": {
"0": {
"type": "playlist",
"id": "PLoSWVnSA9vG8hI-SUpAimvYJrPh-PRRvp",
"title": "If You Survive, You Win",
"playlistUrl": "https://www.youtube.com/playlist?list=PLoSWVnSA9vG8hI-SUpAimvYJrPh-PRRvp",
"videoId": "tnTPaLOaHz8",
"videoUrl": "https://www.youtube.com/watch?v=tnTPaLOaHz8",
"videoCount": 4,
"channel": {
"channelUrl": "https://www.youtube.com/@undefined"
}
},
"1": {
"type": "playlist",
"id": "PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2",
"title": "Helping People In Need",
"thumbnail": "https://i.ytimg.com/tvfilm_banner/PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2/16_9_.jpg?sqp=CKDrqdEG-oaymwEICNYGEOADSFqi85f_AwYIsPuCygY=&rs=AOn4CLATdLKcXu6Q0HuyZmzpisYCnBhn3g",
"playlistUrl": "https://www.youtube.com/playlist?list=PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2",
"videoId": "HPJKxAhLw5I",
"videoUrl": "https://www.youtube.com/watch?v=HPJKxAhLw5I",
"videoCount": 9,
"channel": {
"channelUrl": "https://www.youtube.com/@undefined"
}
}
},
"shorts": {},
"shelves": {},
"lives": {},
"continuationToken": null
},
"credits_used": 1,
"endpoint": "youtube/channel/playlists"
}{
"error": "Either channelId or handle is required"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}YouTube
Channel Playlists
Get playlists from a YouTube channel. Can pass channelId or handle.
Credit Cost: 1 credit per request
GET
/
v1
/
scrape
/
youtube
/
channel
/
playlists
Channel Playlists
curl --request GET \
--url https://api.sociavault.com/v1/scrape/youtube/channel/playlists \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/youtube/channel/playlists"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/youtube/channel/playlists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sociavault.com/v1/scrape/youtube/channel/playlists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sociavault.com/v1/scrape/youtube/channel/playlists"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/youtube/channel/playlists")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/youtube/channel/playlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"videos": {},
"channels": {},
"playlists": {
"0": {
"type": "playlist",
"id": "PLoSWVnSA9vG8hI-SUpAimvYJrPh-PRRvp",
"title": "If You Survive, You Win",
"playlistUrl": "https://www.youtube.com/playlist?list=PLoSWVnSA9vG8hI-SUpAimvYJrPh-PRRvp",
"videoId": "tnTPaLOaHz8",
"videoUrl": "https://www.youtube.com/watch?v=tnTPaLOaHz8",
"videoCount": 4,
"channel": {
"channelUrl": "https://www.youtube.com/@undefined"
}
},
"1": {
"type": "playlist",
"id": "PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2",
"title": "Helping People In Need",
"thumbnail": "https://i.ytimg.com/tvfilm_banner/PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2/16_9_.jpg?sqp=CKDrqdEG-oaymwEICNYGEOADSFqi85f_AwYIsPuCygY=&rs=AOn4CLATdLKcXu6Q0HuyZmzpisYCnBhn3g",
"playlistUrl": "https://www.youtube.com/playlist?list=PLoSWVnSA9vG_s-XT40oPKF0iWFGw8pOp2",
"videoId": "HPJKxAhLw5I",
"videoUrl": "https://www.youtube.com/watch?v=HPJKxAhLw5I",
"videoCount": 9,
"channel": {
"channelUrl": "https://www.youtube.com/@undefined"
}
}
},
"shorts": {},
"shelves": {},
"lives": {},
"continuationToken": null
},
"credits_used": 1,
"endpoint": "youtube/channel/playlists"
}{
"error": "Either channelId or handle is required"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}💳 1 credit per request
Authorizations
Query Parameters
YouTube channel ID
Example:
"UCX6OQ3DkcsbYNE6H8uQQuVA"
YouTube channel handle
Example:
"MrBeast"
Continuation token to get more playlists. Get 'continuationToken' from previous response.
Response
Successful response containing channel playlists
Key Response Fields:
playlists[].id: YouTube playlist IDplaylists[].title: Playlist titleplaylists[].playlistUrl: Full URL to the playlistplaylists[].videoId: ID of the first video in the playlistplaylists[].videoUrl: URL to the first videoplaylists[].videoCount: Number of videos in the playlistplaylists[].thumbnail: Playlist thumbnail image URLcontinuationToken: Token to fetch the next page of playlists (null if no more pages)
⌘I