Get Fonts
Learn how to retrieve custom fonts from your workspace
Published ·Updated
/v1/brand-assets/fonts/getcurl -X GET "https://api.orshot.com/v1/brand-assets/fonts/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/fonts/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/fonts/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/fonts/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/fonts/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 custom fonts uploaded to your workspace. Custom fonts can be used in your templates for consistent brand typography.
It returns the 100 most recent fonts. Use Search Brand Assets with page and limit to page through more.
https://api.orshot.com/v1/brand-assets/fonts/getQuery Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
tag | String | No | Comma-separated list of tags to filter by. Returns only fonts 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/fonts/get", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});await fetch("https://api.orshot.com/v1/brand-assets/fonts/get?tag=heading,brand", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});{
"data": [
{
"id": 456,
"created_at": "2025-09-10T15:30:45.123Z",
"font_family": "BrandFont-Bold",
"file_name": "BrandFont-Bold-Hn4Ks8Pq2Vx.ttf",
"file_url": "https://storage.orshot.com/cloud/w-50/renders/custom_fonts/BrandFont-Bold-Hn4Ks8Pq2Vx.ttf",
"file_size": 184320,
"file_type": "font/ttf",
"tags": ["heading", "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 fonts 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 font |
created_at | String | Timestamp when the font was uploaded |
font_family | String | Font family name. It is the upload name without its extension. Use it exactly as returned to reference the font in templates |
file_name | String | Stored file name. It includes a random suffix and is not the name you uploaded |
file_url | String | URL to access the font file. Treat this URL as opaque. |
file_size | Number | Font file size in bytes |
file_type | String | MIME type of the font file |
tags | String[] | Tags associated with the font |
workspace_id | Number | ID of the workspace the font belongs to |
user_id | String | ID of the user who uploaded the font |
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