Search Brand Assets
Search across all brand asset types (images, colors, fonts, videos, audio) in your workspace
Published ·Updated
/v1/brand-assets/searchcurl -X GET "https://api.orshot.com/v1/brand-assets/search?query=<QUERY>&types=<TYPES>&page=<PAGE>" \
-H "Authorization: Bearer <ORSHOT_API_KEY>"const res = await fetch("https://api.orshot.com/v1/brand-assets/search?query=<QUERY>&types=<TYPES>&page=<PAGE>", {
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/search?query=<QUERY>&types=<TYPES>&page=<PAGE>",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/brand-assets/search?query=<QUERY>&types=<TYPES>&page=<PAGE>");
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/search?query=<QUERY>&types=<TYPES>&page=<PAGE>")
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 search across all brand asset types in your workspace — images, colors, fonts, videos, and audio — in a single request. You can filter by keyword (matching against names, tags, font families, and color values) and optionally restrict to specific asset types. When no query is provided, it lists all assets of the requested type(s).
https://api.orshot.com/v1/brand-assets/searchQuery Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
query | String | No | Search keyword. Matches against file names, font families, color values, video/audio names, and tags (case-insensitive). Omit to list all assets. |
types | String | No | Comma-separated asset types to search: image, color, font, video, audio. Defaults to all types if omitted. |
page | Number | No | Page number for pagination (starts at 1). Defaults to 1. |
limit | Number | No | Number of results per type per page (1–50). Defaults to 10. |
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/search?query=logo", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});await fetch(
"https://api.orshot.com/v1/brand-assets/search?query=primary&types=color,font",
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
}
);// Omit query to list all assets of the given type
await fetch("https://api.orshot.com/v1/brand-assets/search?types=font", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});{
"images": {
"data": [
{
"id": 101,
"name": "company-logo.png",
"url": "https://storage.orshot.com/brand-assets/workspace_id/company-logo.png",
"tags": ["logo", "brand"],
"type": "image"
}
],
"total": 1
},
"colors": {
"data": [
{
"id": 5,
"colorType": "hex",
"value": "#FF5733",
"tags": ["primary"],
"type": "color"
}
],
"total": 1
},
"fonts": {
"data": [
{
"id": 12,
"name": "Inter",
"fontFamily": "Inter",
"url": "https://storage.orshot.com/fonts/workspace_id/Inter.woff2",
"tags": ["body"],
"type": "font"
}
],
"total": 1
},
"videos": {
"data": [
{
"id": 8,
"name": "intro.mp4",
"url": "https://storage.orshot.com/videos/workspace_id/intro.mp4",
"thumbnailUrl": "https://storage.orshot.com/videos/workspace_id/intro-thumb.jpg",
"duration": 15,
"tags": ["intro"],
"type": "video"
}
],
"total": 1
},
"audios": {
"data": [
{
"id": 42,
"name": "background-music.mp3",
"url": "https://storage.orshot.com/cloud/w-50/renders/audio/background-music.mp3",
"duration": 169.5,
"tags": ["music"],
"type": "audio"
}
],
"total": 1
},
"page": 1,
"limit": 10
}Per-User Libraries#
Pass embedId and embedUserId together to search only that embed user's assets 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#
The response contains only the requested types, ordered by most recently created. Each type includes a data array and a total count for pagination. Top-level page and limit fields reflect the current pagination state.
Images#
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the image |
name | String | Original filename |
url | String | Direct URL to the image |
tags | String[] | Tags associated with the image |
type | String | Always "image" |
Colors#
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the color |
colorType | String | Color format: hex, rgb, hsl, or gradient |
value | String | Color value (e.g. "#FF5733") |
tags | String[] | Tags associated with the color |
type | String | Always "color" |
Fonts#
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the font |
name | String | Display name of the font |
fontFamily | String | CSS font-family name |
url | String | Direct URL to the font file |
tags | String[] | Tags associated with the font |
type | String | Always "font" |
Videos#
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the video |
name | String | Video name |
url | String | Direct URL to the video |
thumbnailUrl | String | URL to the video thumbnail |
duration | Number | Video duration in seconds |
tags | String[] | Tags associated with the video |
type | String | Always "video" |
Audio#
Returned under the audios key.
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the audio |
name | String | Audio name (display name) |
url | String | Direct URL to the audio |
duration | Number | Audio duration in seconds |
tags | String[] | Tags associated with the audio |
type | String | Always "audio" |
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 50+ integrations
- White-label embed for your own app
- 30 free credits — no credit card required