Fonts
Extract font families and their sources from any website. Faster and cheaper than the full styleguide endpoint.
Endpoint: GET /v1/brand/fonts
Credits: 5 per request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to analyze (e.g., linear.app) |
Response Schema
{
"data": {
"domain": "linear.app",
"fonts": [
{ "family": "Inter", "weight": "400", "style": "normal", "source": "Google Fonts" },
{ "family": "Inter", "weight": "600", "style": "normal", "source": "Google Fonts" },
{ "family": "Fira Code", "weight": "400", "style": "normal", "source": "self-hosted" }
]
},
"_meta": {
"timing": { "fetch_ms": 5810, "total_ms": 5920 },
"cache": { "hit": false }
}
}Code Examples
cURL
curl -X GET "https://api.orsa.dev/v1/brand/fonts?domain=linear.app" \
-H "Authorization: Bearer YOUR_API_KEY"TypeScript
const { data } = await client.brand.fonts({
domain: 'linear.app',
});
console.log(data.fonts);
// [{ family: "Inter", weight: "400", source: "Google Fonts" }, ...]Python
res = client.brand.fonts(domain="linear.app")
print(res["data"]["fonts"])
# [{"family": "Inter", "weight": "400", "source": "Google Fonts"}, ...]Error Codes
| Code | Status | Description |
|---|---|---|
INPUT_VALIDATION_ERROR | 400 | Missing or invalid domain |
UNAUTHORIZED | 401 | Missing or invalid API key |
SERVICE_UNAVAILABLE | 503 | Browser pool unavailable |
RATE_LIMITED | 429 | Rate limit exceeded |
USAGE_EXCEEDED | 402 | Insufficient credits |
Notes
- The
sourcefield indicates where the font is loaded from (e.g.,Google Fonts,Adobe Fonts,self-hosted). - For the full design system (colors, spacing, logos + fonts), use the Styleguide endpoint instead.