> ## Documentation Index
> Fetch the complete documentation index at: https://www.logo.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Brand API: Company Brand Assets by Domain

> Turn any domain into a full brand profile: logo, brandmark, social banners, brand colors, description, and socials in one JSON response. Pro and Enterprise.

The Brand API returns a domain's full brand profile in a single JSON response: logo, brandmark, social banner images, brand colors, description, and social profiles. It takes a [secret key](/platform/api-keys) and needs a Pro or Enterprise plan. Use cases, plan availability, and a live demo are on the [Brand API product page](https://www.logo.dev/products/brand-api).

```bash theme={null}
curl --header "Authorization: Bearer LOGO_DEV_SECRET_KEY" "https://api.logo.dev/brand/sweetgreen.com"
```

The response is a single JSON object. The `brandmark` and `social_banners` fields are what set it apart from [Describe](/describe/introduction):

```json theme={null}
{
  "name": "sweetgreen",
  "domain": "sweetgreen.com",
  "description": "Simple, seasonal, healthy salads and grain bowls made in-house from scratch.",
  "indexed_at": "2025-03-10T11:36:23Z",
  "socials": {
    "facebook": "http://facebook.com/sweetgreen",
    "instagram": "https://www.instagram.com/sweetgreen/",
    "twitter": "https://x.com/sweetgreen"
  },
  "logo": "https://img.logo.dev/sweetgreen.com?token=LOGO_DEV_PUBLISHABLE_KEY",
  "brandmark": "https://img.logo.dev/sweetgreen.com/3f9a1c0e5b7d2846a9c1e0f4b8d62035c7a94e1f0b3d5c286e4a790d1f8b2c6e?token=LOGO_DEV_PUBLISHABLE_KEY",
  "social_banners": [
    "https://img.logo.dev/sweetgreen.com/7b2d5e8f1a4c6903d7e2b5f8c1a4d7e0b3f6a9c2e5d8b1f4a7c0e3d6b9f2a5c8?token=LOGO_DEV_PUBLISHABLE_KEY"
  ],
  "logo_blurhash": "UJPanPxr?Vj[oxazj@od_FWDDoodxrodagWD",
  "colors": [
    { "hex": "#e4ff55", "r": 228, "g": 255, "b": 85 },
    { "hex": "#0a4b2b", "r": 10, "g": 75, "b": 43 }
  ],
  "is_profane": false
}
```

A domain that isn't in the index yet returns `202` while Logo.dev fetches it. Retry in a few seconds. See [errors and status codes](/platform/errors#not-found-vs-still-indexing-202).

See the full request and response in the [Get a brand profile](/api-reference/rest-api/get-a-brand-profile) reference.

## What a brand API does

You already hold domains. They arrive in work emails at signup, sit on CRM records, and hide inside payment descriptors. A brand API resolves a domain into the public identity behind it: the company's name, what it does, how it looks, and where it lives on social platforms.

The input is one GET request with a domain. The output is one JSON object your code renders directly, with no crawler to run and no image files to host.

## What's in the response

Profiles carry these fields:

| Field            | What it holds                                                                                                                                                                        |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`           | The canonical company name.                                                                                                                                                          |
| `domain`         | The domain the profile describes.                                                                                                                                                    |
| `description`    | A short summary of what the company does.                                                                                                                                            |
| `indexed_at`     | When Logo.dev last verified the profile.                                                                                                                                             |
| `socials`        | Profile links for the platforms the company uses, out of the 13 Logo.dev detects.                                                                                                    |
| `social_banners` | Banner images from those social profiles, served from the Logo.dev CDN.                                                                                                              |
| `logo`           | A ready-to-embed URL for the square logo.                                                                                                                                            |
| `brandmark`      | A URL for the wide logo lockup: the icon and wordmark together for most brands, the wordmark alone for pure-type brands. The key is omitted when no brandmark has been selected yet. |
| `logo_blurhash`  | A compact string that renders a blurred placeholder while the logo loads.                                                                                                            |
| `colors`         | The brand's dominant colors in hex and RGB, strongest first.                                                                                                                         |
| `is_profane`     | Whether the brand tripped profanity detection, so you can filter what you show.                                                                                                      |

The `logo` and `brandmark` URLs point at `img.logo.dev`, the same CDN behind the [Logo API](/logo-images/introduction). The image you render and the data you fetch come from one index, so they stay in sync.

## One request instead of a pipeline

The build-it-yourself version of this data is a pipeline: a crawler to fetch each site, parsers to pull the name and description, image processing to extract logos and colors, and a re-crawl schedule to catch rebrands. Each stage breaks on its own schedule, and stale assets look like bugs to your users.

The Brand API replaces that with a single request at render time. Logo.dev crawls continuously, so `indexed_at` tells you when a profile was last verified rather than when you last found time to re-scrape.

## Authentication and plans

The Brand API takes your [secret key](/platform/api-keys) (`sk_...`) as a bearer token. Call it from your server: the secret key reads brand data for any domain, so keep it out of client code and git.

The endpoint needs a Pro or Enterprise plan. Without one, requests return `403`. See [plan errors](/platform/errors#plan-errors) for the exact response.

## Brand vs Describe

[Brand](/brand/introduction) returns everything [Describe](/describe/introduction) does, plus the brandmark and social banners, on a higher plan tier. Brand also renames Describe's `blurhash` field to `logo_blurhash`.

|                                          | Describe API  | Brand API          |
| ---------------------------------------- | ------------- | ------------------ |
| Plans                                    | Any paid plan | Pro and Enterprise |
| Name, description, colors, socials, logo | Yes           | Yes                |
| Brandmark (wide lockup)                  | No            | Yes                |
| Social banner images                     | No            | Yes                |

Reach for Brand when you need the full profile in one call. If core company data is enough, [Describe](/describe/introduction) covers it on any paid plan. The [API reference introduction](/api-reference/introduction#rest-apis) compares all four REST APIs.

## Next steps

<CardGroup cols={2}>
  <Card title="Get a brand profile" icon="code" href="/api-reference/rest-api/get-a-brand-profile">
    Full request, parameters, and response reference.
  </Card>

  <Card title="Migrate from Brandfetch" icon="arrow-right-arrow-left" href="/migrations/brandfetch">
    Map each Brandfetch Brand API field to Logo.dev.
  </Card>

  <Card title="Onboarding personalization" icon="user-plus" href="/use-cases/onboarding-personalization">
    Brand a signup flow from a work email.
  </Card>

  <Card title="API keys" icon="key" href="/platform/api-keys">
    Where secret and publishable keys live and how to use each.
  </Card>
</CardGroup>
