Home / Features / Brand extraction
Logo, colors, fonts, styleguide

Brand extraction

Give it a domain. Get the logo, the real color palette, the fonts and the CSS design tokens back as JSON.

Every agency, every onboarding flow and every “make it look like their site” feature starts with the same question: what does this company look like? Answering it by hand means opening dev tools, hunting for the logo in three places and eyeballing hex codes.

Brand extraction does that in one call. You pass a domain. We load the page, read the markup and the computed CSS, and return what the site actually uses, not what a favicon guess suggests.

What you get back

  • Logo. The best logo we can find on the page, as a URL you can fetch.
  • Colors. A palette where each color carries a role such as primary, accent, text or background, so you can use it without guessing.
  • Fonts. The font families in use, tagged as heading or body.
  • Title and description. The page title and meta description, for naming and context.

Styleguide, when you need more

The styleguide call goes deeper. It returns the CSS design tokens the site defines and a type scale, which is what you want when you are rebuilding a site or generating components that match it. Because it fetches and analyzes more than a plain brand lookup, it uses weighted credits.

Where it fits

Design handoff is the obvious one: skip the “send us your brand assets” email. But it also feeds lead-enrichment (put a logo and colors on every record), CRM branding, and agents that need to produce on-brand output. See design handoff for a worked flow.

If you only need logos, a dedicated logo service may be cheaper. If you need the whole look plus the page content in the same account, this is the one call to make. We compare the options honestly on the Brandfetch and Context.dev pages.

Try it

Paste any domain into the tool on the home page. You will see the logo, palette and fonts we found, with copy-to-clipboard hex values. The same data is what the API returns, and it is on every plan from Free.

Using the palette well

A palette with roles is more useful than a list of colors, but it still needs a human eye the first time. The primary color is what you reach for on buttons and links. The accent is for emphasis. Text and background decide contrast. Before you put an extracted palette into a product, check the contrast between text and background and between a button and its label. A brand color that works on a logo can fail on a small label, and it is better to find that out while you are building than after a client points it out.

Edge cases to expect

Some sites do not have a clean answer. A site that uses a different logo in its header than on its social cards will give you the header version. A site that changes color by section may return several accents. A site that uses a custom font loaded from a private file will report the family name even if you cannot download the font itself, so you may need to find a close match. These are normal results for real websites, not errors, and your code should expect more than one candidate for anything it treats as a single value.

Feeding it into a workflow

The usual pattern is simple. Run brand extraction when a record is created, store the logo URL, the palette and the fonts next to the record, and refresh them when the client says the brand changed. That keeps the cost down, because you pay for the call once per domain and not once per page view, and it keeps your display fast, because you read from your own database.

Questions

How is a brand call different from a styleguide call?

Brand returns the identity basics, meaning logo, colors and fonts. Styleguide goes further and returns CSS tokens and the type scale. Both use weighted credits.

Does it work on sites that render with JavaScript?

It reads the rendered page, so client-rendered sites work the same as static ones.

Can I try it without an account?

Yes. The tool on the home page runs the brand part on any public domain.

Start with 100 free pages a month

No card. All endpoints. Add the MCP server when your agent needs it.