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.
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.
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.
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.
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”.
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.
When you only know the name
Users type "Spotify", not "spotify.com". Search turns a name into a domain and a logo URL.
Because it is CORS-enabled and needs no key, the entire company picker can live in front-end code. There is no server-side proxy to build, no key to keep out of your bundle, and nothing to deploy before a typeahead works.
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.
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.
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.
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.
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.
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.
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.
Every endpoint, documented.
Full reference for parameters, response shapes, headers, errors and rate limits.