What does a brand context API return?
A brand context API returns what a model needs to write or design as a company. That includes who the company is, how it sounds, what it looks like, and what to avoid. If you do not work with the company, an API that reads its public website is enough. For work under your own brand or the brands of your customers, use context that the brand maintains. This site shows what eight APIs returned for linear.app on 11 November 2026.
GET /v2/context/linear.appBrandfetch Brand Context API{"meta": {"canonical_name": "Linear","resolved_at": "2026-10-16T11:40:11Z"1Read from linear.app on 16 October. We asked on 11 November and got the stored copy.},"brand": {"voice": {"summary": "… a composed, exacting register …",2Built from the public pages of Linear, not supplied by Linear."attributes": ["precise", "measured", "craft-focused", …],"avoid": ["breathless hype", "folksy banter"]3The only things to avoid in the response.},"style": { "summary": "… restrained cool accents …" }4Colors in words only. Other endpoints give values, and the values differ.}}GET /v2/brands/domain/linear.appBrandfetch Brand API{"name": "Linear","claimed": false,1Linear did not claim this profile."logos": [{ "theme": "dark", "type": "logo", "formats": [ … ] }, …],"colors": [{ "hex": "#222326", "type": "dark" },2The pair that Linear calls official.{ "hex": "#F4F5F8", "type": "light" }],"fonts": [{ "name": "Linear", "origin": "custom", "license": null }]3A font named "Linear". No license.}POST /v1/brand/retrieveContext.dev Brand{"brand": {"slogan": "The product development system for teams and agents.","colors": [{ "hex": "#7170ff", "name": "Stargate Shimmer", "source": "site" },1A generated name, not a Linear name.…],"logos": [{ "mode": "light", "type": "logo", … }, …]2Each logo says which background it suits.},"cache_metadata": { "status": "hit", "age_ms": 19071504 }3A cached copy, about 5 hours old.}GET /v1/web/styleguide?domain=linear.appContext.dev Styleguide{"styleguide": {"colors": { "accent": "#7170ff", "background": "#08090a", … },1Colors by role, read from the CSS."typography": {"headings": {"h1": { "fontFamily": "Inter Variable", "fontSize": "72px", … }2Firecrawl read the same h1 as 64px.}},"components": { "button": { "primary": { "borderRadius": "9999px", … } } }3Button and card styles for code.}}POST /v2/scrapeFirecrawl branding format{"colorScheme": "dark","colors": {"primary": "#E4F222",1In no other response for Linear."background": "#08090A"},"fonts": [{ "family": "Inter", "role": "body" }, …],"personality": { "tone": "minimalist", "energy": "low", … },2The only voice field: three words."confidence": { "overall": 0.9216666666666666, … }3Not in the documented fields.}GET /v2/brands?domain=linear.appLogo.dev Brand API{"data": {"name": "Linear","description": "Linear is a product development platform for …","indexed_at": "2026-09-21T03:13:20.59294Z",1Last refreshed in September."colors": [{ "hex": "#000000" }, { "hex": "#ffffff" }],"brandmark": {"url": "https://img.logo.dev/assets/U-5Jfqg…","expires_at": "2026-11-12T19:00:00Z"2The link stops working. Store the file.}}}get_brief over MCPRainbrand Brief{"status": "completed","skill_id": "e16b6239-d74f-4922-97c1-d65c6ae3d882",1The brand version that this Brief came from."created_at": "2026-11-12T00:00:04.667Z","guidance": "… As of November 11, 2026, do not call it newly launched …",2Claim limits written for this task."assets": [{ "kind": "font", … }, { "kind": "logo", … }, …]3A monochrome icon, chosen for a dark section.}get_brand over MCPRainbrand Brand Skill{"version_id": "e16b6239-d74f-4922-97c1-d65c6ae3d882","profile": {"palette": [{ "hex": "#F4F5F8", "group": "Official brand colors", … },1Says which colors are official.{ "hex": "#7170FF", "group": "Website accent", … },…],"logo_catalog": { "items": [{ "form": "lockup", "contrasts_best_on": ["light"] }, …] }2Which background each logo suits.},"files": ["references/copywriting.md", "references/logo.md", …]3Written rules, as guidance files.}Where does the context come from?
The source decides what a response is good for. Context that an API reads from a public website suits a prospect, or a company that you never worked with. For work under the name of a brand, find out if the response carries the brand's own guidance and files. This site calls the two kinds observed context and maintained context. The vendors do not use these terms.
Observed
Read from the public website of the company
- Whose brand
- Any company, by its domain
- Guidance
- Tones to avoid, at most
- Files
- Logo and image addresses from the site
- Version
- A read date, or the age of a cached copy
- Endpoints
- Brandfetch, Context.dev, Firecrawl, Logo.dev
- Use it for
- Prospects, sales records, a first look at any company
Maintained
Prepared from sources added for the brand
- Whose brand
- Brands you or your customers add
- Guidance
- For one task, or the whole brand
- Files
- Selected assets, or asset references
- Version
- A Brand Skill version ID
- Endpoints
- Rainbrand Brief, Rainbrand Brand Skill
- Use it for
- Repeated work under your brand or the brands of your customers
Pick observed context for prospects, sales records, and a first look at any company:
- Brandfetch Brand Context API for voice and positioning
- Brandfetch Brand API, Context.dev, or Logo.dev for logos and colors
- Context.dev Styleguide or Firecrawl for the CSS of a site
Pick maintained context for repeated work under your own brand or the brands of your customers. Use Rainbrand, with a Brief for each task or the Brand Skill for the whole brand. Rainbrand supplies the guidance and assets, and you keep your model and workflow.
The page Which brand context API do you need? gives a pick for each situation.
Which endpoint returns which field?
Each filled cell shows the key that held the field in the response of that endpoint for linear.app. An empty cell means that the response did not include the field.
| Observed | Maintained | |||||||
|---|---|---|---|---|---|---|---|---|
| Field | Brandfetch Context | Brandfetch Brand | Context.dev Brand | Context.dev Styleguide | Firecrawl branding | Logo.dev Brand | Rainbrand Brief | Rainbrand Brand Skill |
| Who it is and how it sounds | ||||||||
| Name and description | identity. | description | brand. | not in the response | brandName | data. | guidance | profile. |
| Voice and tone | brand. | not in the response | not in the response | not in the response | personality. | not in the response | guidance | copywriting. |
| Positioning | positioning | not in the response | not in the response | not in the response | personality. | not in the response | guidance | positioning. |
| What it looks like | ||||||||
| Logos | not in the response | logos[] | brand. | not in the response | images. | data. | assets[] | profile. |
| Colors | not in the response | colors[] | brand. | styleguide. | colors | data. | guidance | profile. |
| Type | not in the response | fonts[] | not in the response | styleguide. | typography | not in the response | guidance | profile. |
| Spacing and components | not in the response | not in the response | not in the response | styleguide. | components | not in the response | not in the response | interface-design. |
| What to avoid, what to use, and when | ||||||||
| Rules and claims | brand. | not in the response | not in the response | not in the response | not in the response | not in the response | guidance | logo. |
| Images and files | not in the response | images[] | brand. | styleguide. | images | data. | assets[] | files[] |
| Dates and versions | meta. | not in the response | cache_ | cache_ | not in the response | data. | skill_ | version_ |
One company, four main colors
On the same day, the four observed vendors returned four different main colors for Linear. Only the maintained palette shows which colors Linear calls its own.
| Endpoint | Main color returned | What it is |
|---|---|---|
| Firecrawl branding | #E4F222 as primary |
A yellow-green from the page. No other response has it |
| Context.dev Brand | #7170ff, named "Stargate Shimmer" | The violet accent of the website, with a generated name |
| Brandfetch Brand API | #222326 and #F4F5F8 | A dark color and a light color, the pair that Linear calls official |
| Logo.dev Brand API | #000000 and #ffffff | Black and white |
| Rainbrand Brand Skill | #F4F5F8 and #222326 as "Official brand colors", #7170FF as "Website accent" | Grouped, with a note about the use of each color |
The Colors page shows every value and its source.
Responses
8 pages
Eight brand context endpoints, each called for linear.app on 11 November 2026: the request, the full response marked up field by field, failures and plans.
Fields
10 pages
Brand context split into ten fields, from voice to versions. For each field, the endpoints that return it, the key that holds it, and how to pass it on.
Recipes
7 pages
Code that passes brand context to a model, in TypeScript and Python: prompts, JSON or Markdown, caching, failures, prospects, customers and agents.
Templates
3 pages
Text to copy into your own code: one JSON Schema for brand context from any endpoint, a system prompt that takes it, and adapters from each vendor's response.