# Logo.dev Brand API

> The request and full response of Logo.dev's Brand API for linear.app: a logo and brandmark on links that expire, colors in hex and OKLCH, and billing.

| Fact | Value | Source |
| --- | --- | --- |
| Request | `GET https://api.logo.dev/v2/brands?domain={domain}` | [docs](https://www.logo.dev/docs/brand/introduction.md) |
| Context | Observed: read from the public website of the company | |
| Auth | Authentication is a secret key (sk_...) sent as a bearer token, called from a server. | [source](https://www.logo.dev/docs/brand/introduction.md), 11 November 2026 |
| Billed | Logo.dev bills brand, brandmark, and logo requests once per brand domain, per route, per 24 hours. Repeats in that window are free. | [source](https://www.logo.dev/docs/platform/credits.md), 11 November 2026 |
| Plans | As of 11 November 2026, Logo.dev has a free Community plan, which needs a visible "Logos provided by Logo.dev" link in commercial projects, and its cheapest paid plan, Startup, is $50 a month billed monthly or $400 a year. | [source](https://www.logo.dev/pricing), 11 November 2026 |
| Over MCP | The MCP tool for this route is brand, which mirrors GET /v2/brands and GET /v2/brands/{id}. The logo and brandmark tools are separate. | [source](https://www.logo.dev/docs/mcp/tools.md), 11 November 2026 |

One GET with a domain returns a short profile. The profile has the name, a one-line description, social links and two colors. It also has the logo, the brandmark and social banners as signed links, and these links stop working about one day later. Of the responses on this site, it is the smallest. It also gives the most detail about its files. Each file has its source size, its format and a blurhash, which is a short code for a blurred preview image.

## The request

```bash
curl "https://api.logo.dev/v2/brands?domain=linear.app&nosubscribe=true" \
  -H "Authorization: Bearer $LOGO_DEV_SECRET_KEY"
```

Use the secret key (`sk_…`) from a server. Send exactly one identifier: `domain`, `ticker`, `isin`, `crypto` or `name`. If webhooks are on for an account, a lookup subscribes you to the changes of that brand. `nosubscribe=true` stops that subscription.

## The response

`GET /v2/brands?domain=linear.app` (Logo.dev Brand API)

```json
{
  "data": {
    "name": "Linear",
    "description": "Linear is a product development platform for …",
    "indexed_at": "2026-09-21T03:13:20.59294Z",
    "colors": [{ "hex": "#000000", "oklch": { "l": 0, … } }, …],
    "brandmark": {
      "url": "https://img.logo.dev/assets/U-5Jfqg…",
      "source": { "width": 400, "height": 100, "format": "svg" },
      "expires_at": "2026-11-12T19:00:00Z"
    },
    "social_banners": [{ "source": { "width": 1200, … } }]
  }
}
```

1. `indexed_at`: When Logo.dev last refreshed it.
2. `oklch`: Each color also in OKLCH.
3. `expires_at`: About one day. Store the file, not the link.

OKLCH is a color format based on human vision. The full response is in [/data.json](https://brandcontextapi.com/data.json) under `responses.logo-dev-brand-api`, and its links no longer work.

## What is not in it?

- Voice, positioning, type and rules are not in it.
- How often Logo.dev refreshes a brand is not in it. Logo.dev does not publish this. `indexed_at` shows the last refresh, and `brand.updated` webhooks report changes.

## Empty and failed responses

| Status | What it means | Charged |
| --- | --- | --- |
| 202 | Logo.dev is still indexing the brand (`status: not_indexed`). Retry after 30 seconds, and stop after 5 minutes | No |
| 404 | No brand matches (`status: not_found`) | No |
| 400 | A parameter is missing or malformed | Not stated |
| 401 | The key is missing or wrong, or it is a publishable key | Not stated |
| 402 | Not enough credits. A retry does not help | Not stated |
| 403 | The identifier type is not enabled, or the account is suspended | No |
| 429 | Too many requests in one minute, or too many open at once | Not stated |

## Plans

As of 11 November 2026, Logo.dev has a free Community plan. On that plan, commercial projects need a visible "Logos provided by Logo.dev" link. The cheapest paid plan, Startup, is $50 a month, or $400 a year. Logo.dev bills each brand once per route per 24 hours. Repeat lookups on the same day, 202s, 404s and downloads from the image links are not billed again. The `Credits-Charged` header tells you if Logo.dev billed a call. See [Logo.dev's pricing page](https://www.logo.dev/pricing). Over the Model Context Protocol (MCP), the tool is `brand`, on `mcp.logo.dev`.

## Storing the files

The Logo.dev docs say that you can store anything that the API returns and serve it from your own servers. They also say to save the `etag` of each image. A new link or a new `expires_at` does not mean that the image changed.

---

Source: https://brandcontextapi.com/responses/logo-dev-brand-api
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.
