Inspect a playlist
curl --request GET \
--url https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"type": "playlist",
"id": "<string>",
"title": "<string>",
"thumbnails": [
{
"url": "<string>",
"width": 1,
"height": 1
}
],
"isPodcast": true,
"url": "<string>",
"videos": [
{
"type": "video",
"id": "dQw4w9WgXcQ",
"title": "<string>",
"channel": {
"id": "<string>",
"name": "<string>",
"url": "<string>"
},
"thumbnails": [
{
"url": "<string>",
"width": 1,
"height": 1
}
],
"isLive": true,
"url": "<string>",
"description": "<string>",
"durationSeconds": 1,
"durationText": "<string>",
"publishedTimeText": "<string>",
"viewCount": 1,
"viewCountText": "<string>",
"hasCaptions": true
}
],
"meta": {
"provider": "youtube",
"source": "video2ctx",
"fetchedAt": "2023-11-07T05:31:56Z",
"partial": true,
"warnings": [
"<string>"
]
},
"description": "<string>",
"channel": {},
"videoCount": 1,
"videoCountText": "<string>",
"updatedTimeText": "<string>",
"playUrl": "<string>",
"continuation": "<string>",
"estimatedTotal": 123
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}Playlists
Inspect a playlist
GET
/
v1
/
providers
/
{provider}
/
playlists
/
{id}
Inspect a playlist
curl --request GET \
--url https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.video2ctx.dev/v1/providers/{provider}/playlists/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"type": "playlist",
"id": "<string>",
"title": "<string>",
"thumbnails": [
{
"url": "<string>",
"width": 1,
"height": 1
}
],
"isPodcast": true,
"url": "<string>",
"videos": [
{
"type": "video",
"id": "dQw4w9WgXcQ",
"title": "<string>",
"channel": {
"id": "<string>",
"name": "<string>",
"url": "<string>"
},
"thumbnails": [
{
"url": "<string>",
"width": 1,
"height": 1
}
],
"isLive": true,
"url": "<string>",
"description": "<string>",
"durationSeconds": 1,
"durationText": "<string>",
"publishedTimeText": "<string>",
"viewCount": 1,
"viewCountText": "<string>",
"hasCaptions": true
}
],
"meta": {
"provider": "youtube",
"source": "video2ctx",
"fetchedAt": "2023-11-07T05:31:56Z",
"partial": true,
"warnings": [
"<string>"
]
},
"description": "<string>",
"channel": {},
"videoCount": 1,
"videoCountText": "<string>",
"updatedTimeText": "<string>",
"playUrl": "<string>",
"continuation": "<string>",
"estimatedTotal": 123
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}{
"error": {
"code": "QUERY_REQUIRED",
"message": "<string>",
"details": "<unknown>",
"requestId": "<string>"
}
}Authorizations
bearerApiKeysessionCookiecliSessionapiKeydemoUser
Permanent personal API key created in the dashboard. Example: curl -H "Authorization: Bearer aty_…" https://your-host/v1/projects
Path Parameters
External video provider.
Available options:
youtube Example:
"youtube"
Provider playlist ID.
Minimum string length:
1Example:
"PL123"
Response
Normalized playlist and videos.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
x >= 0YouTube’s display text, such as “Updated 4 days ago”.
Starts playback from the item represented by the playlist card.