Product

Eleven capabilities,
one brand data API.

Logos as images, brands as data, companies as JSON. Everything below works from a plain URL, every endpoint is CORS-enabled, and the essentials need no key at all.

01 · Logo delivery

The best available mark, at the size you need

Point at a domain and get an image back. We serve the sharpest asset we hold — a vector when one exists, a high-resolution raster otherwise.

This is the part most products get wrong by hotlinking a favicon: a 16-pixel image has no detail to recover, so enlarging it just makes the same sixteen pixels bigger. Starting from the largest asset and scaling down is the direction that keeps edges clean.

One mark, served at seven sizesThe same logo is delivered from 16 pixels up to 1024, each scaled down from the sharpest asset available, never enlarged past the source.One source, every size you needalways scaled down from the sharpest asset — never stretched upS16S32S64S128S256S512S1024A vector source stays a vector and is sharp at any size at all.
Seven sizes from 16 to 1024, each scaled down from the sharpest asset we hold.
SizesSeven of them, from 16 up to 1024 pixels. Each is scaled to fit and never enlarged beyond the source — a small source stays small rather than turning to mush.
FormatsModern web formats on request. When the source is a vector it is passed through untouched, so it stays infinitely sharp.
What came backEvery response tells you which mark was served and when we last confirmed it, so you are never guessing at the age of an asset.
CachingServed from 300+ edge locations. A cached response returns in under 50ms, and what you fetch is yours to cache and keep.

Read the logo endpoint reference

02 · Icon & wordmark

Ask for the shape your layout needs

Most companies have two marks: a square icon and a wide wordmark. Picking the wrong one is why logos look squashed in avatar circles.

If your layout has a fixed square — an avatar, a table row, a favicon slot — ask for the icon. If it has horizontal room and you want the company name readable, ask for the wordmark. Ask for neither and you get whichever mark scored highest, which may be either shape.

A square icon and a wide wordmark in a fixed square slotThe square icon mark fills an avatar cleanly. The wide wordmark squeezed into the same square becomes an unreadable smear.Ask for the square markright for avatars, table rows and faviconsLreads perfectly at any sizeThe wide one, forced into itthe most common way logo integrations look wrongLINEARsqueezed flat and illegibleWhere the wide one belongsheaders, footers, email signaturesLINEARroom to be read
The same company, two marks. Which one you ask for is the difference between a clean avatar and an unreadable smear.
The square iconRight for avatars, favicons, table rows and anything sitting in a fixed square.
The wide wordmarkThe full horizontal lockup, company name included. Right for headers, footers and email signatures.
If it does not existWe fall back to the best mark we hold rather than failing, so a request never dead-ends on a missing shape.

Read the variant reference

03 · Brand kit

Every mark we hold, in one call

Rather than probing each variant one request at a time, ask once and get the full inventory with dimensions and content types.

This is what you want when a person, not your code, is choosing: a brand picker, a theme editor, an onboarding step where a customer confirms their own logo. One call gives you everything there is to offer them.

One request returning every mark a company publishesA single brand kit request returns the full inventory: the square icon, the wide wordmark, and each one's format and dimensions.One requestfor the whole setLSquare iconscalable vector — sharp at any sizeLINEARWide wordmarkscalable vector — the name, readableLRaster iconwith its exact pixel dimensions
One request, the whole inventory — each mark with its shape, its format and its dimensions.
Each entryIts shape, where to fetch it, what format it is in, and its exact pixel dimensions — or a flag saying it is a vector and has no fixed size at all.
Why it helpsBuild a brand picker, pre-cache every asset for a company, or decide in your own code which mark suits a slot — all from one response.

Read the brand kit reference

04 · Brand colors

The palette, read out of the mark itself

Not a guess from a stylesheet — the actual colours in the logo, ranked by how much of it each one occupies.

It lets you tint an interface to the company it is showing: a coloured edge on a table row, a card header, a series in a chart. Because the ranking is by share of the mark, the first non-neutral entry is almost always the colour a person would name as “theirs”.

Try it live on the home page

A palette read out of the mark, ranked by shareThe colours are taken from the logo itself and ordered by how much of the mark each one covers, so the first is the colour to theme with.The markread directly, not guessedIts palette, ranked by share of the mark88% — theme with this10% — flagged neutral2%Neutrals are flagged, so you can skip them when you want an accent rather than a background.
Read out of the mark itself and ranked by how much of it each colour covers.
The colourReady to drop straight into your styles, exactly as it appears in the mark.
Its shareHow much of the mark that colour covers. The first entry is the dominant brand colour.
Neutrals, flaggedBlacks, whites and greys are marked as such, so you can skip them when you want an accent rather than a background.

Read the brand colors reference

05 · Company profiles

The company behind the domain

Name, description, socials and address as one JSON object. Fields we cannot verify stay empty rather than being guessed — blank is more useful than wrong.

It covers the details you would otherwise sign a data contract to get: enough to enrich a CRM record, prefill an onboarding form, or show who is behind a domain without sending anyone to go and look.

What a company record contains at each tierWithout a key you get the name, description and website. A free key adds social profiles and postal address. Premium adds contact details and the legal name.SStripestripe.comverified recentlyNO KEYName · description · websiteenough to label a domain in your interfaceFREE KEYAdds social profiles · postal addressenough to enrich a CRM recordPREMIUMAdds contact details · legal nameFields we cannot verifystay empty rather than guessed —blank is more useful than wrong.Every record carries the time itwas last verified, so you alwaysknow how fresh it is.
One record, three tiers. What you get depends on whether you bring a key.
KeylessName, description and website — enough to label a domain in your interface.
Free keyAdds social profiles and postal address.
PremiumAdds emails, phone numbers and legal name. Contact data is the paid part of the product.
Always includedThe time the record was last verified, on every response, so you always know how fresh it is.

Read the company endpoint reference

07 · Ticker & crypto

A symbol is a valid logo URL

Financial interfaces hold a ticker symbol, not a domain. These capabilities resolve one to the other and hand back the company’s mark.

A portfolio view, a watchlist, a trade confirmation or a crypto balance holds a symbol and nothing else. Rather than making you keep your own symbol-to-domain mapping, the symbol itself is a valid image URL.

A ticker symbol resolving to a company logoA financial interface holds a symbol like AAPL or BTC. AnyLogo resolves it to the company and returns that company's logo, so the symbol itself works as an image address.What your interface holdsAAPLBTCa symbol, and nothing elseresolved for youAnyLogokeeps the mappingAppleapple.comBitcointhe asset's markYou keep no symbol table of your own — the symbol is the address.
The symbol your interface already holds resolves to the company and its mark.
Listed equitiesA stock ticker resolves to its company and returns that company's mark.
Crypto assetsThe same, for the major crypto assets.
Or just the mappingAsk for the answer instead of the image and you get the company name, its domain, and whether it is an equity or a crypto asset.
Why it redirectsBecause it then works anywhere an ordinary image address does. No lookup step, no glue code in your render path.

Read the ticker & crypto reference

08 · Freshness & refresh

Logos go stale. Ours can be fixed the moment you notice.

Companies rebrand and every logo provider goes out of date. The difference is what you can do about it. Here, anyone can flag a stale mark — no key, no support ticket, no waiting for someone else's reindex cycle.

The freshness loop A company rebrands, someone flags the stale mark with no key required, we re-fetch it, and the next request returns the current logo. A company rebrands the mark you cached is now wrong Anyone flags it no key, no account, from anywhere We re-fetch the mark on the next request for it Everyone gets it the fix reaches every caller, not just the reporter always current
You always know the ageEvery logo and every company record comes back stamped with the time we last verified it.
Anyone can flag a stale markNo key required. Report it from anywhere and the next request fetches a fresh copy.
Or force it immediatelyPremium plans can trigger an immediate re-fetch of both the logo and the company record instead of waiting.

We have not found another logo API that lets an unauthenticated caller correct its data. If a rebrand matters to your interface, this is the feature that matters.

09 · Server-side fallbacks

An img tag that never renders broken

No provider covers every domain. The question is what your interface does on a miss — and the answer should not be a broken-image icon.

A monogram tile keeps the row looking deliberate rather than broken, which matters most in exactly the places logos appear: dense lists where one missing image is obvious. Pick the transparent pixel when the space should collapse instead, or a real 404 when you would rather handle it in your own code.

Three ways a missing logo can renderLeft, a broken image icon, which is what hotlinking gives you. Middle, a lettered tile coloured from the domain. Right, the space collapsed cleanly.What you get elsewherea broken image, in a rowa customer is looking atA lettered tileUcoloured from the domain, so thesame company always looks the sameOr nothing at allthe space collapses and yourown layout takes overYou choose which of the three your interface gets — the decision is yours, not ours.
Three ways a miss can render. You pick which one your interface gets.
A lettered tileColoured from the domain itself — the same company always gets the same tile, so lists stay visually stable.
Nothing at allAn invisible placeholder. Right when your own layout already handles the empty state.
A plain missA clean not-found answer when you would rather branch in your own code.

Read the fallback reference

10 · Published coverage

Hit rates we publish, including the bad ones

A library-size number tells you nothing about whether your domains are in it. Measured rates on random samples do.

The figures are served from the API rather than written into this page, so they cannot quietly drift out of date — and they include the segments where we do worst, because a number you can verify is worth more than one you cannot.

See the live table

Software & SaaS companies98%50 sampled
Long-tail domains79%121 sampled
Mid-popularity domains73%121 sampled
Top-traffic domains68%120 sampled

Logo found, by segment — served from the API itself, including the segments where we do worst.

Software & SaaS98% logo, 62% vector across 50 sampled companies — the segment most products actually need.
Long-tail domains79% logo. We fetch on demand, so an obscure domain costs us nothing.
Top-traffic domains68% — our weakest segment, and we publish it anyway. These lists are full of infrastructure hosts that have no logo because they are not brands.

Read how coverage is measured

Segments matter more than a headline number. Traffic-ranked lists are dominated by infrastructure hosts — CDN endpoints, DNS servers, bare API domains — which have no logo because they aren't brands, so we report companies separately rather than blending them into one flattering average.

11 · Company registry

The official record, linked to its source

Beyond what a company says about itself, the registry endpoint returns its record from the national company register — with a link back to the register itself, so anything we return can be verified at its origin.

This is the record compliance and onboarding flows actually need: whether a company is active, when it was incorporated, and the address it is registered at — the things a self-reported profile cannot be trusted for.

An official register record, linked back to its sourceThe registry returns company-level facts — number, status, incorporation date and registered office — each traceable to the national register it came from. Directors and other individuals are deliberately excluded.The official recordactiveRegistration numberon the register since 2015Company type and classificationprivate limited companyRegistered officeLondon, United Kingdomevery record links back to the register it came fromverifiableReturnedcompany-level facts only —the things a compliance check needsNever returneddirectors, officers and othernamed individuals — that datacarries obligations of its own
Company-level facts, each traceable to the register they came from — and a deliberate line we do not cross.
CoverageUnited Kingdom only today, via Companies House. Jurisdictions differ enormously in what they publish and what they permit reusing, so we are adding them one at a time rather than claiming global coverage we do not have.
Not returnedWe deliberately exclude directors, officers and persons of significant control. That information identifies individuals and carries obligations quite different from publishing a registration number.
ReturnedCompany number, status, type, incorporation date, registered office and classification codes — company-level facts only.

Read the registry reference

Every endpoint, documented.

Full reference for parameters, response shapes, headers, errors and rate limits.