Skip to content
All posts

The Clearbit Logo API is gone: what to use instead

logo.clearbit.com stopped serving logos on December 8, 2025. Here is what replaces it, and how to swap every URL in your app in one pass.

· updated 15 October 2026· 6 min read· Brand Identity API

If your CRM, admin panel or integrations page suddenly shows a row of broken image icons where company logos used to be, check the src of one of them. If it starts with https://logo.clearbit.com/, the cause is not your code.

<img src="https://logo.clearbit.com/stripe.com" alt="Stripe logo" />

That URL pattern worked for years with no key, no sign-up and no rate limit worth mentioning. It does not work any more.

What happened to the Clearbit Logo API

HubSpot bought Clearbit in 2023 and folded its enrichment products into HubSpot. The free Logo API did not make the move: HubSpot shut it down on December 8, 2025, as announced in HubSpot's developer changelog.

So every logo.clearbit.com image in every app now fails, and it will keep failing. The fix is to point those URLs somewhere else.

What a replacement needs to do

Before picking one, list what the old URL did for you. For most apps it is this:

  • One URL per domain. No lookup step, no ID to store: the domain is the key.
  • No key in the common case, so the URL can sit in HTML, an email or a CSV export.
  • A sensible size for a list row or an avatar.
  • A predictable failure for unknown domains, so your onerror handler can show a placeholder.

And it is worth asking for a few things Clearbit never did:

  • SVG, for print, PDFs and retina screens.
  • A variant for dark backgrounds. A black wordmark on a dark sidebar is invisible.
  • Server-side use. Fetching the image from your backend, resizing it and storing it should be allowed, not a terms-of-service violation.

The options

Favicon services

Google and DuckDuckGo both serve favicons by domain:

https://www.google.com/s2/favicons?domain=stripe.com&sz=64
https://icons.duckduckgo.com/ip3/stripe.com.ico

They are free and need no key, but a favicon is not a logo. You get a small square icon, often 16 or 32 pixels at the source, with no wordmark, no SVG and no dark variant. Fine for a browser tab list; thin for anything bigger.

Logo CDNs

A logo CDN is the closest thing to what Clearbit was: a URL per domain that returns an image. Several exist, and their terms differ in ways that matter more than their URLs. Some require an attribution link on their free tier, some refuse server-side fetches and only work as a hotlink from a browser, some do not serve SVG. Read the terms with your use in mind before you pick one.

A brand API

If you want more than the picture (the brand's colors, fonts or company facts), a brand API returns a JSON record per domain with links to every logo variant. You store the record and serve the logo from wherever you like.

Swapping in Brand Identity API

We built Brand Identity API partly because of this shutdown, so the logo CDN takes the same shape of URL:

diff
- <img src="https://logo.clearbit.com/stripe.com" alt="Stripe logo" />
+ <img src="https://brandidentityapi.com/logo/stripe.com" alt="Stripe logo" />

Logo requests never cost a credit. The free plan includes 500,000 a month, Starter 3 million and Growth unlimited, with per-minute burst limits and no attribution link. Requests without a key never count, and past the allowance logos for indexed brands keep loading as they would without a key. Brands already in our index load without a key. Server-side fetching, caching and storing copies are all allowed.

The parameters map almost one to one:

ClearbitBrand Identity APINotes
?size=128?size=128Longest side, 16 to 1024 pixels; 128 by default
PNG by default?format=pngWebP for browsers that accept it, PNG otherwise; also svg and jpeg
?greyscale=truenoneUse CSS: filter: grayscale(1)
a 404 for unknown domains?fallback=404The default is a lettered tile

The default image is a square icon, the closest match to what Clearbit returned. Add ?type=logo for the full wordmark and ?background=dark for a version that reads on a dark page.

One difference to know before you replace URLs in bulk: Clearbit sent PNG, and our default format is WebP. Every current browser shows WebP, so an <img> in your app needs no change. Email clients (Outlook for Windows among them) and many PDF renderers do not, so wherever a logo goes into an email template or a generated document, add format=png:

html
<img src="https://brandidentityapi.com/logo/stripe.com?format=png&size=96" alt="Stripe logo" width="48" height="48" />

Replace every URL in one pass

In a codebase, it is one search and replace. Preview first:

grep -rn "logo.clearbit.com" src/

Then replace (GNU sed; on macOS write sed -i ''):

bash
grep -rl "logo.clearbit.com" src/ | xargs sed -i 's#https://logo.clearbit.com/#https://brandidentityapi.com/logo/#g'

If you stored full Clearbit URLs in a database column, this is a good moment to store the domain instead and build the URL when you render. Then the next time a provider changes, you edit one function:

javascript
const LOGO_HOST = "https://brandidentityapi.com";

// format "png" for email templates and PDFs; "webp" is smaller in browsers.
export function logoUrl(domain, size = 128, format = "webp") {
  return `${LOGO_HOST}/logo/${encodeURIComponent(domain)}?size=${size}&format=${format}`;
}

Logos for small and new companies

Without a key, a domain we have not indexed yet gets the fallback image. To have unknown domains crawled the first time they are requested, create a free publishable key (it starts with lh_pk_) and add it as ?key=. Publishable keys are safe in HTML: they can load logos and search, and they cannot spend lookups.

Check that it worked

Open the page and look at the network panel, or ask for the headers directly:

bash
curl -sI "https://brandidentityapi.com/logo/stripe.com?size=128"

You want a 200 with an image content type. A 400 names the parameter it did not like.

Where else the old URL hides

Code is the obvious place. These are the ones teams find a week later:

  • Content Security Policy. If your img-src lists logo.clearbit.com, the new host must be added or every logo is blocked.
  • Emails. Templates that render customer logos keep the old URL in already-sent mail, but new sends need the new one, with format=png.
  • Exports and PDFs. Generated invoices or reports that embed logos by URL. Use format=png here too.
  • Your database. Any column that stored the full URL rather than the domain.

If you used Clearbit's logo URL as a cheap way to get brand data into your product, the Brand API gives you the rest of the record from the same domain: brand colors with their roles, fonts and company facts. The migration guide has the details, and the comparison page has the short version.

Related