curl --request GET \
--url https://video.bunnycdn.com/library/{libraryId}/videos \
--header 'AccessKey: <api-key>'import requests
url = "https://video.bunnycdn.com/library/{libraryId}/videos"
headers = {"AccessKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {AccessKey: '<api-key>'}};
fetch('https://video.bunnycdn.com/library/{libraryId}/videos', 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://video.bunnycdn.com/library/{libraryId}/videos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"AccessKey: <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://video.bunnycdn.com/library/{libraryId}/videos"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("AccessKey", "<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://video.bunnycdn.com/library/{libraryId}/videos")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://video.bunnycdn.com/library/{libraryId}/videos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"totalItems": 123,
"currentPage": 123,
"itemsPerPage": 123,
"items": [
{
"videoLibraryId": 123,
"guid": "<string>",
"title": "<string>",
"dateUploaded": "2023-11-07T05:31:56Z",
"views": 123,
"isPublic": true,
"length": 123,
"status": 0,
"framerate": 123,
"width": 123,
"height": 123,
"outputCodecs": "<string>",
"thumbnailCount": 123,
"encodeProgress": 123,
"storageSize": 123,
"hasMP4Fallback": true,
"averageWatchTime": 123,
"totalWatchTime": 123,
"description": "<string>",
"rotation": 123,
"availableResolutions": "<string>",
"captions": [
{
"srclang": "<string>",
"label": "<string>",
"version": 123
}
],
"collectionId": "<string>",
"thumbnailFileName": "<string>",
"thumbnailUrl": "<string>",
"thumbnailBlurhash": "<string>",
"category": "<string>",
"chapters": [
{
"title": "<string>",
"start": 123,
"end": 123
}
],
"moments": [
{
"label": "<string>",
"timestamp": 123
}
],
"metaTags": [
{
"property": "<string>",
"value": "<string>"
}
],
"transcodingMessages": [
{
"timeStamp": "2023-11-07T05:31:56Z",
"level": 0,
"issueCode": 0,
"message": "<string>",
"value": "<string>"
}
],
"jitEncodingEnabled": true,
"smartGenerateStatus": 0,
"smartGenerateFeaturesStatus": {
"title": 0,
"description": 0,
"chapters": 0,
"moments": 0
},
"hasOriginal": true,
"originalHash": "<string>",
"hasHighQualityPreview": true
}
]
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}List Videos
curl --request GET \
--url https://video.bunnycdn.com/library/{libraryId}/videos \
--header 'AccessKey: <api-key>'import requests
url = "https://video.bunnycdn.com/library/{libraryId}/videos"
headers = {"AccessKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {AccessKey: '<api-key>'}};
fetch('https://video.bunnycdn.com/library/{libraryId}/videos', 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://video.bunnycdn.com/library/{libraryId}/videos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"AccessKey: <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://video.bunnycdn.com/library/{libraryId}/videos"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("AccessKey", "<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://video.bunnycdn.com/library/{libraryId}/videos")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://video.bunnycdn.com/library/{libraryId}/videos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"totalItems": 123,
"currentPage": 123,
"itemsPerPage": 123,
"items": [
{
"videoLibraryId": 123,
"guid": "<string>",
"title": "<string>",
"dateUploaded": "2023-11-07T05:31:56Z",
"views": 123,
"isPublic": true,
"length": 123,
"status": 0,
"framerate": 123,
"width": 123,
"height": 123,
"outputCodecs": "<string>",
"thumbnailCount": 123,
"encodeProgress": 123,
"storageSize": 123,
"hasMP4Fallback": true,
"averageWatchTime": 123,
"totalWatchTime": 123,
"description": "<string>",
"rotation": 123,
"availableResolutions": "<string>",
"captions": [
{
"srclang": "<string>",
"label": "<string>",
"version": 123
}
],
"collectionId": "<string>",
"thumbnailFileName": "<string>",
"thumbnailUrl": "<string>",
"thumbnailBlurhash": "<string>",
"category": "<string>",
"chapters": [
{
"title": "<string>",
"start": 123,
"end": 123
}
],
"moments": [
{
"label": "<string>",
"timestamp": 123
}
],
"metaTags": [
{
"property": "<string>",
"value": "<string>"
}
],
"transcodingMessages": [
{
"timeStamp": "2023-11-07T05:31:56Z",
"level": 0,
"issueCode": 0,
"message": "<string>",
"value": "<string>"
}
],
"jitEncodingEnabled": true,
"smartGenerateStatus": 0,
"smartGenerateFeaturesStatus": {
"title": 0,
"description": 0,
"chapters": 0,
"moments": 0
},
"hasOriginal": true,
"originalHash": "<string>",
"hasHighQualityPreview": true
}
]
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}Authorizations
AccessKey based authentication
Path Parameters
The ID of the video library.
Query Parameters
The page number to return, 1-based; values below 1 are treated as 1.
The number of items to return per page, clamped to a range of 10-1000.
Filters videos by title, case-insensitive substring match.
Filters videos by collection ID.
The field to order results by. Possible values: date, title — any other value falls back to date.
Response
The list of videos for the current parameters
The total number of items across all pages matching the query, not just the current page.
The current page number of the result set (1-based).
The effective page size after clamping the requested value; the last page may contain fewer items.
The items on the current page, in the order returned by the query; an empty list if no results match.
Show child attributes
Show child attributes
Was this page helpful?