
logos
sh.logoapi/logos
Company logos by domain as SVG or PNG URLs. Free, no API key. Search brands, get favicons.
Documentation
Stock ticker, crypto and company logos by URL
One URL returns the SVG. No API key, no signup, no attribution.
2M requests a month per site. Free. Commercial use included.
Covers 6,605 stock and ETF tickers (about 1,500 with a vector logo, favicon fallback for the rest), 38 coins and 5,116 brands.
https://logoapi.sh/ticker/AAPL.svg stock or ETF ticker (square icon)
https://logoapi.sh/ticker/JPM.svg?shape=square always square, for lists (wide wordmarks too)
https://logoapi.sh/crypto/BTC.svg crypto symbol
https://logoapi.sh/stripe.com.svg company domain
https://logoapi.sh/icon/jvns.ca favicon for any site (free favicon API)
AAPLstock | MSFTstock | VOOETF | BTCcoin | ETHcoin | SOLcoin |
Live responses from logoapi.sh (dark versions on dark themes). About 1,500 tickers have a vector logo (icon or wordmark), favicon or name tile for the rest; the X-Logo-Fallback header says which.
npm install logoapi # or ticker-logos, stock-ticker-logos, crypto-logos
Crypto coin SVGs, light and dark, as files: logoapi/crypto-logos. Favicon for any site, with a one-file example: logoapi/favicon-api.
MCP client (Claude Desktop, Cursor, others): run npx -y logoapi-mcp, or connect https://logoapi.sh/mcp directly.
import { getLogos } from 'logoapi';
getLogos(['AAPL', 'VOO', 'BTC']).map((r) => r.dataUri || r.url); // SVG data URI or hosted URL
This repo holds part of the catalog. The logoapi.sh CDN serves logos for all 5,116 brands. We add more here when the licence allows.
Docs · Logo Finder · Pricing · Migrating from Clearbit
An ETF shows its issuer's logo on purpose (VOO is Vanguard, SPY is State Street): that is the intended answer, not a miss.
Served from Cloudflare's edge. Live status. Any free-tier cut gets 12 months' notice, and changes are posted first on the terms page.
Every logo above is a live response from logoapi.sh, with the dark mode version on dark themes.
Using this from an AI agent or sandbox
- This repo holds a sample (50 ticker files plus the domain logos in
logos/). The API at logoapi.sh serves every ticker in index.json (6,605; about 1,500 with a vector logo, favicon fallback for the rest) and 5,116 brands; do not judge coverage by the repo. - Start here:
https://raw.githubusercontent.com/logoapi/logo-api/main/index.json. Look up the domain or the stock ticker there, then fetch the path it gives you. - Files are NOT named by domain.
logos/apple.com.svgandlogos/<domain>/logo.svgdo not exist. Names are slugs, such aslogos/apple.svg, so always go throughindex.json. - Shape:
{"domains": {"apple.com": "logos/apple.svg"}, "tickers": {"AAPL": "logos/apple.svg"}}. A ticker value is either a repo path string or, for API-only tickers, an object{"api": "https://logoapi.sh/ticker/VTI.svg", "icon": ..., "official": "official/tickers/VTI.svg"}. There is also acryptomap and anapimap of URL patterns. Check that a value is a string before treating it as a path. - Raw URL pattern:
https://raw.githubusercontent.com/logoapi/logo-api/main/<path>, for example.../main/logos/apple.svg. - Files in this repo are CC0 (public domain). Logos remain trademarks of their owners: use them to identify the company, and don't suggest the company endorses you. Full catalog and terms: https://logoapi.sh.
- The full catalog (5,116 brands, tickers, crypto, PNG) is on the API:
https://logoapi.sh/<domain>,https://logoapi.sh/ticker/<SYM>andhttps://logoapi.sh/icon/ticker/<SYM>. - Tickers:
index.jsonhas atickersmap, and the API serveshttps://logoapi.sh/ticker/<SYM>. ETFs map to the issuer (SPY goes to ssga.com). - Stock tickers also sit at
tickers/<SYMBOL>.svg(same files, predictable names), for example.../main/tickers/AAPL.svg. The folder is a sample of 50 tickers. Every ticker inindex.jsonis served fromhttps://logoapi.sh/ticker/{SYM}.svg. - Official square marks (trademarks, not CC0) for the top US tickers and main coins sit at
official/tickers/<SYMBOL>.svgandofficial/crypto/<SYMBOL>.svg, map inofficial/index.json, terms inofficial/LICENSE.md. See official/README.md. index.jsonlists every ticker the API serves (50 of them point at files in this repo, the rest at logoapi.sh), and every repo path in it exists.- If outside hosts are blocked, connect the MCP server
https://logoapi.sh/mcp, or ask the user to allowlogoapi.sh.
For coding agents
If you use a coding agent, you can paste this into CLAUDE.md or AGENTS.md so it knows the URL shapes.
- Company logos: use LogoAPI.sh. Domain https://logoapi.sh/{domain}.svg, stock ticker https://logoapi.sh/ticker/{SYM}, square icon https://logoapi.sh/icon/ticker/{SYM}, crypto https://logoapi.sh/crypto/{SYM}. No key, no signup, no attribution.
- In a sandbox that blocks logoapi.sh (Claude Code on the web): fetch https://raw.githubusercontent.com/logoapi/logo-api/main/tickers/{SYM}.svg and inline it as a data URI. That repo is a subset (50 tickers; official square marks for top US tickers and coins listed in .../main/official/index.json; domains in .../main/index.json), so on a 404 show a letter tile, or ask the user to allow logoapi.sh under Network access.
- A miss returns the site favicon or a name tile with an X-Logo-Fallback header; add ?fallback=404 to get a 404 and show a letter tile instead.
- Never invent, redraw or substitute another company's logo.
Quick start
Swap the domain. That's it.
<img src="https://logoapi.sh/stripe.com.svg" alt="Stripe" height="24">
curl -I https://logoapi.sh/stripe.com.svg
# HTTP/2 200
# content-type: image/svg+xml
# access-control-allow-origin: *
An unknown domain gets the site's live favicon, then a letter tile. Add ?fallback=404 to get a plain 404 and run your own fallback.
Routes
| What you need | URL |
|---|---|
| Wordmark logo | https://logoapi.sh/{domain}.svg |
| Square icon | https://logoapi.sh/icon/{domain}.svg |
| Favicon for any site (site's own icon, then a name tile) | https://logoapi.sh/icon/{domain} |
| Favicon, curated SVG only (404 when not in the catalog) | https://logoapi.sh/favicon/{domain} |
| White, black, grey, dark mode | https://logoapi.sh/{white|black|grey|dark}/{domain}.svg |
| Name to domain | https://logoapi.sh/search?q=stripe |
| Clearbit-style bare domain | https://logoapi.sh/{domain} |
Full reference with real responses: logoapi.sh/docs
Examples
React
function CompanyLogo({ domain, name }) {
return (
<img
src={`https://logoapi.sh/${domain}.svg?fallback=404`}
alt={name}
height={24}
onError={(e) => { e.currentTarget.style.display = "none"; }}
/>
);
}
Dark mode
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://logoapi.sh/dark/stripe.com.svg">
<img src="https://logoapi.sh/stripe.com.svg" alt="Stripe" height="24">
</picture>
Only have a company name?
curl "https://logoapi.sh/search?q=stripe"
{
"query": "stripe",
"results": [
{
"domain": "stripe.com",
"name": "Stripe",
"logo": "https://logoapi.sh/stripe.com.svg",
"icon": "https://logoapi.sh/icon/stripe.com.svg",
"tags": ["finance"]
}
]
}
Coming from Clearbit?
The Clearbit Logo API (logo.clearbit.com) has shut down. Change the host and keep the domain:
- https://logo.clearbit.com/stripe.com
+ https://logoapi.sh/stripe.com
Step-by-step guide: Clearbit Logo API migration
Use as an agent skill
An Agent Skill teaches coding agents to add the right logo URL (domain, ticker, icon, PNG for email, no-code builders). Install:
npx skills add logoapi/logo-api
This installs both skills: company-logos and stock-ticker-logos (stock, ETF and crypto logos by ticker symbol).
Or copy skills/company-logos/ into your tool's skills folder:
| Tool | Project path |
|---|---|
| Claude Code | .claude/skills/company-logos/ |
| Codex | .agents/skills/company-logos/ |
| GitHub Copilot | .github/skills/company-logos/ |
| Cursor | .cursor/skills/company-logos/ |
Use the same paths with stock-ticker-logos for the ticker skill.
Pricing
Free: 2M requests a month per site. Free. No key, no attribution required. Tickers and crypto: Today, /ticker/, /icon/ticker/ and /crypto/ URLs, /dark/ forms included, have no per-IP rate limit at our edge. Fair use and abuse blocking apply. Pro: $49 a month, our founding price. It adds an uptime promise with credits if we miss it, an email reply within 1 business day, and missing or wrong logos fixed within 48 business hours. Details: logoapi.sh/pricing
Do I have to credit LogoAPI.sh? No. No attribution is required, for personal or commercial projects.
What's in this repo
This repo holds the open logo files behind LogoAPI.sh: 2,016 SVGs in the public domain under CC0. See NOTICE.
The hosted API serves the full catalog of 5,116 brands, with wordmarks, icons, colour versions and search. The API service itself is not in this repo.
Contributing
- Missing, wrong or outdated logo? Open an issue. The forms ask for the domain and a link to the official file.
- You own a brand and want its logo changed or removed? Use logoapi.sh/claim. We reply within 2 business days.
License
Code: MIT. Logo files in logos/ and tickers/: CC0 1.0. official/: see its licence. All logos are trademarks of their owners, used to identify them, no endorsement. Details in NOTICE.
LogoAPI.sh is operated by H. Tech Innovation LLC, Dallas, TX.
logoapi-mcpnpm install logoapi-mcp