# Firecrawl branding format

> The request and response of Firecrawl's branding format for linear.app: colors, fonts, sizes, components, an inline logo, personality and confidence.

| Fact | Value | Source |
| --- | --- | --- |
| Request | `POST https://api.firecrawl.dev/v2/scrape with formats: ["branding"]` | [docs](https://docs.firecrawl.dev/features/scrape) |
| Context | Observed: read from the public website of the company | |
| Auth | Send an API key on every request as Authorization: Bearer fc-YOUR-API-KEY. | [source](https://docs.firecrawl.dev/authentication), 11 November 2026 |
| Combine formats | The branding format can be combined with other formats such as markdown and screenshot in the same request. | [source](https://docs.firecrawl.dev/features/scrape), 11 November 2026 |
| Plans | As of 11 November 2026, Firecrawl has a free plan that needs no card, and its cheapest paid plan, Hobby, is $19 a month billed monthly or $16 a month billed annually. | [source](https://www.firecrawl.dev/pricing), 11 November 2026 |
| Over MCP | The MCP tool for reading one page is firecrawl_scrape. | [source](https://docs.firecrawl.dev/mcp-server/tools), 11 November 2026 |

Firecrawl is a scraping API, and `branding` is one of the formats that a scrape can return. One POST with a page address returns how that page looks. The response has color roles, fonts and sizes, spacing, and button and input styles. It also has the logo and images, three words of personality, and confidence scores. It reads one page, not the company.

## The request

```bash
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://linear.app", "formats": ["branding"]}'
```

You can combine the branding format with other formats, for example `markdown` or `screenshot`, in the same request. The Firecrawl OpenAPI spec writes each format as an object (`{"type": "branding"}`). The Firecrawl examples send the string. The scrape endpoint also works without an API key, at limits that Firecrawl does not publish.

## The response

We ran this request in the Firecrawl playground, which shows the `branding` object alone. The API returns the object at `data.branding`.

`POST /v2/scrape` (Firecrawl branding format)

```json
{
  "colorScheme": "dark",
  "colors": {
    "primary": "#E4F222",
    "background": "#08090A",
    "textPrimary": "#8A8F98"
  },
  "fonts": [{ "family": "Inter", "role": "body" }, …],
  "typography": { "fontSizes": { "h1": "64px", … } },
  "spacing": { "baseUnit": 4, "borderRadius": "8px" },
  "logo": "data:image/svg+xml;utf8,%3Csvg …",
  "personality": { "tone": "minimalist", "energy": "low", … },
  "confidence": { "overall": 0.9216666666666666, … }
}
```

1. `primary`: In no other response for Linear.
2. `h1`: Context.dev read the same h1 as 72px.
3. `logo`: Inline SVG, white. Returned twice.
4. `personality`: The only field about voice.
5. `confidence`: Not in the documented fields.

The full branding object is in [/data.json](https://brandcontextapi.com/data.json) under `responses.firecrawl-branding`.

## What is not in it?

- A description, positioning and rules are not in it. `personality` gives three single words.
- A date is not in it. By default, Firecrawl serves a cached copy up to 2 days old. To read the page again, set `maxAge` to 0.
- Three fields that the docs list were not in the response for Linear: `icons`, `animations` and `layout`.

## Empty and failed responses

| Status | What it means |
| --- | --- |
| 400 | The body is bad or the URL is not valid. Firecrawl refuses social profile URLs with branding |
| 401 | The key is missing, malformed or revoked |
| 402 | No credits are left. The free plan has no pay-as-you-go |
| 408 | The page took too long to load. Retry with backoff |
| 429 | The per-minute limit or the concurrent-browser limit was reached. Wait for `Retry-After` |
| 500, 502, 503 | The server failed. Retry with backoff |

Firecrawl does not charge for a scrape that returns no document. A page that loads with an error status, for example a 404 page, comes back as a document. Firecrawl charges for it as a scrape.

## Plans

As of 11 November 2026, Firecrawl has a free plan that needs no card, with a limit of 10 scrapes a minute. Its cheapest paid plan, Hobby, is $19 a month, or $16 billed annually. [Firecrawl's pricing page](https://www.firecrawl.dev/pricing) shows what each plan includes. Over the Model Context Protocol (MCP), `firecrawl_scrape` on `mcp.firecrawl.dev` reads a page. Firecrawl does not document how to pass the branding format through it.

---

Source: https://brandcontextapi.com/responses/firecrawl-branding
Last updated: 2026-11-11
Published by The Brand Object. The Brand Object is run by Rainbrand, which makes two of the endpoints described here. Their pages follow the same rules as the others.
