Skip to main content
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 and needs a Pro or Enterprise plan. Use cases, plan availability, and a live demo are on the Brand API product page.
The response is a single JSON object. The brandmark and social_banners fields are what set it apart from Describe:
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. See the full request and response in the 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: The logo and brandmark URLs point at img.logo.dev, the same CDN behind the Logo API. 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 (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 for the exact response.

Brand vs Describe

Brand returns everything Describe does, plus the brandmark and social banners, on a higher plan tier. Brand also renames Describe’s blurhash field to logo_blurhash. Reach for Brand when you need the full profile in one call. If core company data is enough, Describe covers it on any paid plan. The API reference introduction compares all four REST APIs.

Next steps

Get a brand profile

Full request, parameters, and response reference.

Migrate from Brandfetch

Map each Brandfetch Brand API field to Logo.dev.

Onboarding personalization

Brand a signup flow from a work email.

API keys

Where secret and publishable keys live and how to use each.