Brandfetch alternatives 2026: pricing and data
What 10,000 brand lookups a month cost at Brandfetch and five alternatives, what their terms allow, and a script to test their data on your domains.
Brandfetch offers a detailed brand schema, a large curated index and profiles that brands maintain themselves. Teams start looking elsewhere for one of three reasons, and it is usually the first.
Why teams look for an alternative
Price. As of October 2026, Brandfetch's developer pricing starts at $129 a month, or $99 a month billed yearly, for 2,500 brand fetches. 10,000 fetches a month cost $396 to $516. Overage is $0.10 a fetch. The free plan is 100 fetches, once, not every month.
Terms. Brand API data must be refreshed at least every 30 days. The logo CDN is hotlink
only: images must load in an <img> tag with a referrer, fetching them from a server is refused,
and caching them needs a custom contract. Using the data in your own API's responses needs a
separate agreement. Batch and prefetch are on paid plans only.
Data gaps for some use cases. Brandfetch publishes its own coverage figures: a light logo variant (the one you need on a dark background) exists for 58.3% of core brands and 20.4% of long-tail brands, and a symbol for 33.4% and 0.76%. If your product has a dark mode, that is the number to look at.
None of this makes Brandfetch a bad product. It makes it an expensive one for an app that looks up thousands of companies a month and wants to keep what it fetched.
The price of 10,000 lookups a month
| Vendor | 10,000 a month | Per 1,000 |
|---|---|---|
| Brand Identity APIThis site | $39 | $3.90 |
| Brandfetch | $396 to $516 | $39.60 to $51.60 |
| Context.dev | $99 | $9.90 |
| Logo.dev | About $500 | About $50 |
| BrandsAPI | Custom plan | $31.60 on Growth |
Prices as of October 2026, from each vendor's own pricing page. Clearbit's free Logo API is not in the table because HubSpot shut it down on December 8, 2025.
The alternatives, one by one
Brand Identity API
Our own, so read this one with that in mind. Brand Identity API returns the same field names as
Brandfetch's
Brand API v2 and answers its paths under /v2, so moving over is a base URL and key change. The
free plan is 50 lookups, once. Starter is $39 a month for 10,000 and Growth is $99 for 30,000, and
lookups a month does not use roll over and never expire. Only lookups that find a brand count,
there is no overage (when credits run out the API answers 402), and responses and logos may be
cached and stored forever on every plan. Putting the data in your own API responses is arranged
on the Custom plan.
On data, we generate the missing light or dark variant for single-color logos and tag it
generated, read fonts from real webfont declarations, and filter customer logo strips out of
homepages. Our index is younger and smaller than Brandfetch's, which is why the script below
exists.
Context.dev, formerly Brand.dev
As of October 2026, Context.dev's pricing puts a brand lookup at 10 credits. The free tier is 1,000 credits, which is 100 lookups. Developer is $19 a month for 7,500 credits (750 lookups) and Pro is $99 for 125,000 credits (12,500 lookups). Fonts come from a separate styleguide call at another 10 credits. A good fit if you also use its other endpoints and want one credit balance.
Logo.dev
Logo.dev is mainly a logo CDN. As of October 2026, its pricing page lists a generous free Community tier, 500,000 CDN requests a month, that requires an attribution link for commercial use. Paid plans are $50 (Startup) and $180 (Pro) a month. Its Brand API costs 5 credits, $0.05, per lookup, so 10,000 lookups come to about $500. The CDN does not serve SVG and there are no fonts.
BrandsAPI
As of October 2026, BrandsAPI's pricing lists a Growth plan at $79 a month ($61 billed yearly) for up to 2,500 fetches, and a free plan of 100 fetches, once. Growth stops at 2,500 a month, so 10,000 needs its Custom plan, which has no published price; at Growth's rate of $31.60 per 1,000 it would be $316. We have not compared its data with ours, so we make no claim about it.
LogoKit
As of October 2026, LogoKit's pricing lists a free logo tier of 5,000 requests a day at 64 pixels with attribution, a Startup plan at $40 a month, and its brand data API on paid plans only, with 100 calls a day on Startup. LogoKit is not in the table above because its brand API is priced by the day rather than by the month.
Test the data on your own domains
Prices are easy to compare. Data quality is not, and published averages may not describe the companies your users care about. The fair test is to run your own list through each API and count what comes back.
Because Brand Identity API uses Brandfetch's response shape, one script tests both. Save this as
compare-coverage.mjs, put one domain per line in domains.txt, and run it once per provider:
import { readFile } from "node:fs/promises";
const { BASE_URL, API_KEY } = process.env;
if (!BASE_URL || !API_KEY) throw new Error("Set BASE_URL and API_KEY");
const file = process.argv[2];
if (!file) throw new Error("Usage: node compare-coverage.mjs domains.txt");
const domains = (await readFile(file, "utf8"))
.split("\n")
.map((line) => line.trim())
.filter(Boolean);
const counts = { found: 0, svg: 0, lightLogo: 0, darkLogo: 0, fonts: 0, colors: 0 };
for (const domain of domains) {
const res = await fetch(`${BASE_URL}/brands/${domain}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
if (!res.ok) continue;
const brand = await res.json();
const logos = brand.logos ?? [];
counts.found += 1;
if (logos.some((logo) => logo.formats.some((f) => f.format === "svg"))) counts.svg += 1;
if (logos.some((logo) => logo.theme === "light")) counts.lightLogo += 1;
if (logos.some((logo) => logo.theme === "dark")) counts.darkLogo += 1;
if ((brand.fonts ?? []).length > 0) counts.fonts += 1;
if ((brand.colors ?? []).length > 0) counts.colors += 1;
}
console.log(`${counts.found} of ${domains.length} domains found`);
for (const [field, count] of Object.entries(counts)) {
if (field === "found") continue;
const share = Math.round((100 * count) / Math.max(1, counts.found));
console.log(`${field}: ${count} (${share}%)`);
}
Then:
BASE_URL=https://brandidentityapi.com/v2 API_KEY=lh_sk_your_key node compare-coverage.mjs domains.txt
BASE_URL=https://api.brandfetch.io/v2 API_KEY=your_brandfetch_key node compare-coverage.mjs domains.txtEach run spends one lookup per domain found, so start with a sample of a few hundred. Look at the
numbers that matter to your interface: lightLogo if you have a dark mode, svg if you print,
fonts if you theme anything after the customer's brand. Then open a dozen records side by side;
counts do not show a logo that is technically present but wrong.
How to choose
- Need the largest curated index or an enterprise contract? Stay with Brandfetch.
- Need fonts in the same call and use other web data endpoints? Look at Context.dev.
- Only need a raster logo CDN and can show attribution? Logo.dev's free tier is generous.
- Want Brandfetch's schema at a small fraction of the price, with the right to cache? That is what we built Brand Identity API for.
The Brandfetch comparison page has the side-by-side table, and the migration guide maps every endpoint and field.