Skip to content
Docs page

Migrate

Migrate from Brandfetch

Move a Brandfetch Brand API integration to Brand Identity API by changing the base URL and key. Field mapping and differences.

Brand Identity API answers Brandfetch's Brand API v2 paths with the same field names, so most integrations move over with two changes: the base URL and the key.

Change the base URL

diff
- https://api.brandfetch.io/v2/brands/stripe.com
+ https://brandidentityapi.com/v2/brands/stripe.com

Then send a Brand Identity API secret key (lh_sk_) as the bearer token, in the same Authorization header your client already sets:

javascript
const BASE_URL = "https://brandidentityapi.com/v2"; // was https://api.brandfetch.io/v2

const res = await fetch(`${BASE_URL}/brands/stripe.com`, {
  headers: { Authorization: `Bearer ${process.env.BRAND_IDENTITY_API_KEY}` },
});
const brand = await res.json();

Endpoint mapping

BrandfetchBrand Identity APINotes
GET /v2/brands/{id}GET /v2/brands/{id}Same response. /v1/brands/{id} is the same handler.
GET /v2/brands/domain/{domain}GET /v2/brands/domain/{domain}Same response.
GET /v2/search/{name}GET /v2/search/{name}A bare array, as Brandfetch returns.
Logo Link CDNGET /logo/{domain}See Logo Link URLs below.

Identifiers can be a domain, a URL or an email address. Brandfetch's own brand ids are not ours, so look brands up by domain.

Field mapping

Every field below has the same name and meaning in both APIs. Fields we add are listed after it; a client that does not know them ignores them.

FieldNotes
name, domain, description, longDescriptionSame.
claimedSame meaning.
links[].name, links[].urlSame.
logos[].type, logos[].themeSame values: icon, symbol, logo, other; light, dark or null.
logos[].formats[].src, format, background, width, height, sizeSame. src points at our CDN.
logos[].tagsSame field. We add the generated tag for variants we drew.
colors[].hex, type, brightnessSame.
fonts[].name, type, origin, originId, weightsSame. origin can also be adobe, for Adobe Fonts, where Brandfetch says custom.
images[]Same shape.
company.employees, foundedYear, kind, location, industriesSame shape. Industries come from our own taxonomy.
company.financialIdentifiers.ticker, isinSame shape, never null. ticker holds the bare symbol; isin is always empty for now.
qualityScore, isNsfw, urn, idSame names. Ids and URNs are ours.

Additions: status, updatedAt, restriction (why an adult site's empty record is empty), company.ticker (the exchange and symbol, such as NASDAQ:AAPL, next to Brandfetch's financialIdentifiers) and the adobe font origin. Full definitions are in the Brand API reference.

Brandfetch's Logo Link puts options in the path and a client id in the query. Ours puts options in the query and takes an optional publishable key:

diff
- https://cdn.brandfetch.io/stripe.com/w/128/h/128/theme/dark/type/icon?c=YOUR_CLIENT_ID
+ https://brandidentityapi.com/logo/stripe.com?size=128&theme=dark&type=icon&key=lh_pk_your_key
Logo LinkBrand Identity API
/w/{n}/h/{n}size={n} (the longest side)
/theme/light or /theme/darktheme=light or theme=dark
/type/icon, /type/symbol, /type/logotype=icon, type=symbol, type=logo
/fallback/lettermarkfallback=monogram
/fallback/transparentfallback=transparent
/fallback/404fallback=404
?c={clientId}key=lh_pk_... (optional for indexed brands)

What is different

Brandfetch's terms as published on its own pages, as of October 2026. Check them before you decide.

  • Caching. You may cache and store responses and logos forever. Brandfetch asks for Brand API data to be refreshed at least every 30 days, and allows caching its logo CDN only under a custom contract.
  • Server-side logo fetches are allowed. Brandfetch's logo CDN is hotlink-only, with a Referer check; ours has no such rule.
  • Metering. Only lookups that find a brand cost a credit, on every plan. Credits never expire, and when they run out the API answers 402 instead of charging overage.
  • Your own API. Including the data in your own API responses is arranged on the Custom plan: see pricing.
  • Coverage. Brandfetch has a larger, owner-curated index. Run a sample of your own domains through both before you switch, and compare what matters to you.
  • Endpoints we do not have. Only the Brand API, search and the logo CDN are mirrored. If you use other Brandfetch products, keep them for now.
Dark-mode logos
Brandfetch publishes its own coverage figures for light logo variants. We generate the missing variant for single-color logos and tag it generated, so check logos[].theme rather than assuming a variant is missing.

Checklist

  1. Create a secret key, and a publishable key if you embed logos.
  2. Swap the base URL and key in a staging build. Compare a few hundred of your real domains.
  3. Translate Logo Link URLs with the table above.
  4. Remove refresh jobs that existed only to meet the 30-day rule, or keep them on your own schedule with ?refresh=true on a paid plan.
  5. Ship, then watch your usage on the dashboard for the first week.