Start
Brand Identity API documentation
Get brand colors, fonts, logos and company data for any domain with one REST call, a logo CDN URL or an MCP tool.
Brand Identity API turns a domain into a brand: logos in each variant we find, brand colors, fonts, social links and company facts. Call the REST API from your server, put a logo URL in an img tag, or give an AI agent the MCP server. The JSON uses the same field names as Brandfetch's Brand API, so existing integrations move over with a base URL change.
Quick start
- Create a free account and copy a secret key (it starts with
lh_sk_) from the API keys page. No card needed. - Look up a brand. Only lookups that find a brand cost a credit, and every account starts with 50 free.
- Store the response for as long as you like. Caching is allowed on every plan.
curl https://brandidentityapi.com/v1/brands/stripe.com \
-H "Authorization: Bearer $BRAND_IDENTITY_API_KEY"For a logo alone you do not even need a key: brands already in the index load straight from the logo CDN.
<img src="https://brandidentityapi.com/logo/stripe.com?size=64" alt="Stripe logo" width="64" height="64" />Base URL
Every endpoint lives on https://brandidentityapi.com. Requests and responses are JSON over HTTPS, except the logo CDN and asset URLs, which return images.
Endpoints
| Endpoint | What it does | Key | Counts as a lookup |
|---|---|---|---|
| GET /v1/brands/{domain} | The full brand record for a domain, URL or email address | Secret | Yes, when a brand is found |
| POST /v1/brands/batch | Many domains in one request | Secret | One per brand found |
| GET /v1/search?q= | Brands by name or domain, for an autocomplete | Secret or publishable | No |
| GET /v1/me | Your plan, credits left, this month's usage and your limits | Secret | No |
| GET /logo/{domain} | A logo image for an img tag | None for indexed brands, or publishable | No |
| GET /v2/brands/{domain} | The Brandfetch-compatible alias of the Brand API | Secret | Yes, when a brand is found |
| POST /mcp | The MCP server for AI agents | Secret for get_brand, any key for search, none for get_logo_url | Only get_brand, like the Brand API |
| GET /v1/openapi.json | The OpenAPI document | None | No |
Conventions
Send your key as Authorization: Bearer lh_sk_.... See Authentication for the two kinds of key.
Every error has the same shape, { "error": { "code", "message", "docs" } }, and every code has its own entry on the Errors page. Every response carries an X-Request-Id; include it when you write to us.
Rate limits and your remaining credits come back in headers on every call. See Rate limits and quotas.