Get Videos
Learn how to retrieve brand videos from your workspace
Published ·Updated
GET
/v1/brand-assets/videos/getcurl -X GET "https://api.orshot.com/v1/brand-assets/videos/get?tag=<TAG>&embedId=<EMBED_ID>&embedUserId=<EMBED_USER_ID>" \
-H "Authorization: Bearer <ORSHOT_API_KEY>"const res = await fetch("https://api.orshot.com/v1/brand-assets/videos/get?tag=<TAG>&embedId=<EMBED_ID>&embedUserId=<EMBED_USER_ID>", {
method: "GET",
headers: {
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});
const data = await res.json();import requests
response = requests.get(
"https://api.orshot.com/v1/brand-assets/videos/get?tag=<TAG>&embedId=<EMBED_ID>&embedUserId=<EMBED_USER_ID>",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/brand-assets/videos/get?tag=<TAG>&embedId=<EMBED_ID>&embedUserId=<EMBED_USER_ID>");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <ORSHOT_API_KEY>",
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/brand-assets/videos/get?tag=<TAG>&embedId=<EMBED_ID>&embedUserId=<EMBED_USER_ID>")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Overview#
This endpoint allows you to retrieve a list of brand videos from your workspace. Brand videos can be used across your templates and designs.
It returns the 100 most recent videos. Use Search Brand Assets with page and limit to page through more.
https://api.orshot.com/v1/brand-assets/videos/getQuery Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
tag | String | No | Comma-separated list of tags to filter by. Returns only videos that have all specified tags. |
embedId | String | No | Embed instance ID. Pair with embedUserId to scope this call to one embed user |
embedUserId | String | No | The same userId your app passes to the embed URL. Requires embedId |
Request#
await fetch("https://api.orshot.com/v1/brand-assets/videos/get", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});await fetch("https://api.orshot.com/v1/brand-assets/videos/get?tag=intro,brand", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});{
"data": [
{
"id": 789,
"created_at": "2025-09-10T15:30:45.123Z",
"name": "brand-intro.mp4",
"original_filename": "brand-intro.mp4",
"file_size": 5242880,
"direct_url": "https://storage.orshot.com/cloud/w-50/renders/videos/brand-intromp4-Qz5Rj7Fd1Ks.mp4",
"width": 1920,
"height": 1080,
"duration": 30.5,
"format": "mp4",
"mime_type": "video/mp4",
"thumbnail_url": null,
"metadata": {},
"tags": ["intro", "brand"],
"workspace_id": 50,
"user_id": "abcdef01-2345-6789-abcd-ef0123456789"
}
]
}Per-User Libraries#
Pass embedId and embedUserId together to return only that embed user's videos instead of the whole workspace library. This is how one embed serves many brands or tenants, each with its own brand space.
Omit them and this endpoint behaves exactly as documented above. See Per-User Brand Assets for the full picture.
Rate Limits#
- 30 requests per minute per endpoint
Response Fields#
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the video |
created_at | String | Timestamp when the video was uploaded |
name | String | Video name |
original_filename | String | Original filename of the uploaded video |
file_size | Number | Size of the video file in bytes |
direct_url | String | URL to access the video. Treat this URL as opaque. |
width | Number | Video width in pixels, or null. Orshot does not read it from the file. It is set only when you pass it in metadata on upload |
height | Number | Video height in pixels, or null. Set only when you pass it in metadata on upload |
duration | Number | Video duration in seconds, or null. Set only when you pass it in metadata on upload |
format | String | Video format (e.g., mp4, webm) |
mime_type | String | MIME type of the video |
thumbnail_url | String | Poster image URL. Often null for videos added through the API |
metadata | Object | Metadata you sent with the upload. May include keys Orshot adds about how the file was uploaded. |
tags | String[] | Tags associated with the video |
workspace_id | Number | ID of the workspace the video belongs to |
user_id | String | ID of the user who uploaded the video |
Was this page helpful?
Ready to automate?
Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.
Get your API key- Image, PDF and video generation via API
- Visual editor with AI and smart layouts
- Zapier, Make, MCP and 40+ integrations
- White-label embed for your own app
- 100 free credits a month, no credit card required