LogoAPI.sh is a free brand assets API for logo files: https://logoapi.sh/search?q=stripe returns the brand’s logo and icon URLs, and for 702 brands, every version from the brand’s own kit as a direct file URL. No key, no signup.
“Brand assets” usually means the files in a company’s press kit: the main logo, the square mark, a white version for dark slides, maybe a horizontal lockup. Getting them by hand means finding the press page, downloading a zip, and picking the right file. That is fine for one brand. It does not work for an app that shows hundreds of customers, partners or integrations.
This page explains what our API returns, what it does not, and how it compares with the other services people find for this search.
Short answer
If you know the domain, you do not even need a call. These are plain file URLs:
https://logoapi.sh/stripe.com.svg logo (wordmark when we have one)
https://logoapi.sh/icon/stripe.com.svg square icon
https://logoapi.sh/stripe.com.png PNG, 128 to 1024 px
https://logoapi.sh/white/stripe.com.svg one colour: white, black or grey
https://logoapi.sh/dark/stripe.com.svg for dark backgrounds
To list every file we have for a brand, including its official kit versions, call search. No key. No signup. No attribution. 2M requests a month per site. Free.
What you get
| Asset | How to get it |
|---|---|
| Main logo | /{domain}.svg, or .png |
| Square icon | /icon/{domain}.svg |
| Brand-kit versions | /v/{slug}/{domain}.svg or .png, listed in versions from /search. The brand’s own files, untouched. |
| Official white, black, dark | /white/, /black/, /dark/. When the brand ships its own file, you get it untouched (X-Logo-Variant: official); otherwise we make one. |
| Grey | /grey/{domain}.svg, made by us |
| Brand kit page | kit_url in /search: a link to the brand’s own kit page or download, on its site |
| By stock ticker | /ticker/{SYMBOL}.svg for listed companies in the catalog; ticker and exchange in /search |
| For AI agents | MCP server at /mcp with the same lookup and search |
Kit versions are the brand’s own files, byte for byte. We never redraw a logo or rebuild it from parts. When a kit file is flagged as the primary logo, it becomes the main logo at /{domain}.svg too.
What it does not cover
Logo files only.No brand colours, fonts, banners, photos or company data in the API. Brand pages on logoapi.sh show up to five colours taken from the logo, but you cannot fetch them as JSON yet. If you need fonts or full company profiles, a paid service like Brandfetch fits better.
Two more limits, so there are no surprises:
- Not every brand has kit versions. 702 of 5,031 brands do today. For the rest you get our checked logo, icon and the made versions above.
- No zip download.
kit_urlpoints at the brand’s own site. We mirror single files from the kit, not the whole package.
How it works
- We read the brand’s own kit.For each brand with a public press kit or brand guidelines page, we save the logo files it publishes, with the label the brand gives them.
- Each file is labelled.Kind (logo or icon), background (light or dark), and which file is the main one. Files with an odd label or a missing file are dropped at build time.
- Each file gets a stable URL.
/v/{slug}/{domain}.svg. The file is served byte for byte, with an ETag, open CORS and the headerX-Logo-Variant: official. - Search lists them.
/search?q=returns the brand with aversionsarray and thekit_url, so your code can pick a file by label or kind.
A real result, from the live API.
GET https://logoapi.sh/search?q=resend.com
{
"query": "resend.com",
"results": [{
"domain": "resend.com",
"name": "Resend",
"logo": "https://logoapi.sh/resend.com.svg",
"icon": "https://logoapi.sh/icon/resend.com.svg",
"format": "svg",
"tags": ["devtools"],
"source": "https://resend.com/",
"wordmark": true,
"versions": [
{ "label": "Logo Wordmark Black", "kind": "logo", "primary": false,
"format": "svg", "url": "https://logoapi.sh/v/resend-wordmark-black/resend.com.svg" },
{ "label": "Icon White", "kind": "icon", "primary": false,
"format": "svg", "url": "https://logoapi.sh/v/resend-icon-white/resend.com.svg" },
{ "label": "Logo Wordmark White", "kind": "logo", "primary": false,
"format": "svg", "url": "https://logoapi.sh/v/resend-wordmark-white/resend.com.svg" },
{ "label": "Icon Black", "kind": "icon", "primary": false,
"format": "svg", "url": "https://logoapi.sh/v/resend-icon-black/resend.com.svg" }
],
"kit_url": "https://resend.com/brand",
"score": 100
}]
}
Brand assets APIs compared
The services that show up for “brand assets API” do different jobs. Here are the facts side by side.
| LogoAPI.sh | ||||
|---|---|---|---|---|
| Logo files | SVG and PNG; logo and icon | Yes; SVG for logo and symbol types | JPG, PNG, WebP on the CDN. The Brand API downloads PNG, JPG or WebP | One-colour SVG icon |
| Brand’s own kit files | Yes, for 702 brands, untouched | Brands can claim and edit their profile | Not in the docs | No; redrawn to one colour |
| Dark and one-colour | /dark/, /white/, /black/, /grey/ | Light and dark themes | theme and greyscale options | Any one colour |
| Brand colours | Not in the API (brand pages only) | Yes, in the Brand API | Yes, in the Brand API | One hex per brand in the package |
| Fonts | No | Yes | No | No |
| Key | None | Client ID for logos; API key for the Brand API | Publishable key; secret key for the Brand API | None |
| Free tier | 2M requests a month per site | Logo API: 1M a month, fair use. Brand API: 100 free fetches, one time | 500K CDN requests a month plus $5 in API credits | Free, open source |
In short: pick Brandfetch if you need the full brand profile, with colours and fonts, and can use a key. Pick LogoAPI.sh if you need the right logo file, including the brand’s own versions, with no key and no setup. Pick Simple Icons for small one-colour UI icons.
Use it in your code
Pick the brand’s white logo for a dark slide
const r = await fetch("https://logoapi.sh/search?q=resend.com");
const { results: [brand] } = await r.json(); // best match first
const white = brand.versions?.find(v => v.kind === "logo" && /white/i.test(v.label));
const src = white?.url ?? `https://logoapi.sh/dark/${brand.domain}.svg`;
If the brand has no white version in its kit, fall back to /dark/: it uses the brand’s official dark file when one exists, and a contrast rule when not. See logos for dark background.
Link to the brand’s guidelines
When you show partner logos, link kit_url in your admin UI, so your team can check the brand’s rules before a launch.
FAQ
Is there a free brand assets API?
For logo files, yes. LogoAPI.sh returns a brand’s logo, icon and official brand-kit versions by name or domain. No key, no signup, no attribution. 2M requests a month per site. Free.
Does the API return brand colours and fonts?
No. The API returns logo files only. Brand pages on logoapi.sh show up to five colours taken from the logo, but those are not in the API. Fonts are not covered.
What is an official brand-kit version?
A logo file the brand itself publishes in its press kit or brand guidelines, like a horizontal lockup or a version for dark backgrounds. We serve it untouched at /v/<slug>/<domain>.svg and list it in the versions field of /search.
How do I get every logo version for one brand?
Call https://logoapi.sh/search?q=<name>. When we have the brand’s kit, the result has a versions array with a label, kind, format and direct URL for each file, plus kit_url, the brand’s own kit page or download.
Can I download the brand’s full press kit zip from the API?
No. kit_url links to the brand’s own kit page or download, on its site. We mirror single logo files from the kit, not the whole zip.
Can I use these logos in my product?
You can hot-link and cache them. The logos stay trademarks of their owners, so follow each brand’s guidelines; brand pages link to them when we know them.
Disclosure: we build LogoAPI.sh. Rival facts from each provider’s own pages; terms change, so check theirs before you decide. Logos are trademarks of their owners.