Brand and logo API pricing: what a lookup really costs
Fetches, credits, lookups and CDN requests are not the same unit. How to compare brand and logo API prices, and the terms that quietly multiply the bill.
Logo and brand APIs publish prices in different units, and the cheapest headline is often not the cheapest bill. A plan that looks like $0.04 a call can cost several times that once you add the calls the terms make you repeat. Here is how to turn each pricing page into one number: what you pay per 1,000 brands you actually use.
Four units that look alike
- Fetches or lookups. One request for one brand's record. The simplest unit, but check whether a lookup that finds nothing still counts.
- Credits. A balance that different endpoints draw from at different rates. A brand lookup might cost 5 or 10 credits, and a second call for fonts might cost 10 more.
- CDN requests. One image served from a logo URL. Usually far cheaper per request, or free, and often with conditions such as an attribution link.
- Seats or tiers with soft limits. Rare for developer APIs, but watch for "fair use" wording in place of a number.
Convert everything to the cost of one brand record with the fields you need, then multiply by your monthly volume.
What 10,000 lookups a month cost
| 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 |
These are each vendor's own published prices as of October 2026, from Brandfetch, Context.dev, Logo.dev and BrandsAPI. For credit-based plans we counted the credits a brand lookup draws. A plan's allowance can be larger than 10,000; the table shows what you pay to cover 10,000. BrandsAPI's published Growth plan stops at 2,500 fetches a month, so its row shows Growth's rate per 1,000 and notes that 10,000 needs a custom plan.
The terms that multiply the bill
Refresh rules
Some providers require you to re-fetch stored data on a schedule. Brandfetch, for example, asks for Brand API data to be refreshed at least every 30 days, as of October 2026 (see its developer pricing). If you keep 5,000 companies in your CRM, that is 5,000 fetches every month for as long as you have them, not 5,000 once. Over a year it is twelve times the volume your users created.
When caching is allowed with no refresh rule, those 5,000 brands cost you 5,000 lookups in total, plus whatever refreshes you choose to make.
Failed lookups
A request for a domain with no website, a parked page or a typo returns nothing useful. If your provider counts those, your real cost per found brand rises with the messiness of your input. User entered domains are messy.
Separate calls for separate fields
If logos and colors come from one call and fonts from another, a "brand lookup" price covers only part of the record you wanted. Context.dev's pricing, for instance, lists the styleguide call (fonts) at another 10 credits on top of the 10-credit brand lookup, as of October 2026.
Overage
Some plans keep serving past your allowance and bill the excess: Brandfetch at $0.10 a fetch, as of October 2026. That protects uptime and surprises finance. Others stop with a 429 until the next month. Know which one you are on before an import job runs.
One-time free tiers
"100 free fetches" can mean 100 a month or 100 ever. A one-time allowance is a trial; a monthly one is a free plan you can run a side project on.
A cost calculator
Put your own numbers into this. It works out the monthly bill for a plan with an allowance and an optional overage price, and the cost per 1,000 lookups you actually make:
/**
* Monthly cost of a plan at a given volume.
* plan: { price, included, overagePerLookup } with overagePerLookup null when
* the plan stops at its allowance instead of billing more.
*/
export function monthlyCost(plan, lookups) {
if (lookups <= plan.included) return plan.price;
if (plan.overagePerLookup === null) return Number.POSITIVE_INFINITY; // needs a bigger plan
return plan.price + (lookups - plan.included) * plan.overagePerLookup;
}
export function costPerThousand(plan, lookups) {
return (monthlyCost(plan, lookups) / lookups) * 1000;
}
// With a 30-day refresh rule, every stored brand is looked up again each month.
export function lookupsPerMonth({ newBrands, storedBrands, refreshEvery30Days }) {
return newBrands + (refreshEvery30Days ? storedBrands : 0);
}
const starter = { price: 39, included: 10_000, overagePerLookup: null };
console.log(costPerThousand(starter, 10_000).toFixed(2)); // "3.90"
Run the same function for each plan you are considering, with lookupsPerMonth set the way their
terms require.
How we price Brand Identity API, and why it can be this low
Every Brand Identity API account starts with 50 free lookups. Starter is $39 a month for 10,000 and Growth is $99 a month for 30,000, which is $3.90 and $3.30 per 1,000 lookups. Lookups a month does not use roll over and never expire, and subscribers can add a top-up pack in a busy month.
Three decisions make that possible:
- An index, not a scraper. We crawl a brand once, store the record and the files, and answer every later lookup from the index. A cached answer costs us very little, so we can charge very little for it.
- You pay for found brands only. A lookup that fails or finds nothing is refunded at once. Search and the logo CDN never cost a credit. Each plan has a monthly allowance for them instead (500,000 logo requests and 250,000 searches on the free plan, unlimited on Growth), so you have no reason to ration them.
- No overage. When your credits run out the API answers 402 and stops. Nothing is charged automatically: you add credits on purpose, with a top-up pack or a bigger plan.
And because caching is allowed forever on every plan, the number of lookups you buy is the number of brands you need, not that number times twelve.
You can check your usage at any time with a call that costs nothing:
curl https://brandidentityapi.com/v1/me -H "Authorization: Bearer $BRAND_IDENTITY_API_KEY"The answer includes your plan, the credits you have left, the lookups used this month and your rate limits. The rate limits page explains every header, and the pricing page has the plans.