favi, Logo.dev and Brandfetch all answer GET /{domain} with an image. Clearbit did too, until its Logo API went dark on December 8, 2025 — its column is here because people still search for it. Numbers were checked on 2026-09-18 against each vendor's public pricing and documentation. Where a competitor is better, the row says so.
A dash means the product does not offer it, or nothing is published. Scroll sideways on a phone.
| favi | Logo.dev | Brandfetch | Clearbit | |
|---|---|---|---|---|
| Status | Live | Live | Live | Shut down December 8, 2025 — every logo.clearbit.com URL is a broken image |
| Pricing & limits | ||||
| Free tier | 500K requests/mo | 500K requests/mo, hard cap | 1M logo renders/mo, soft cap; plus 100 brand fetches, one-time | — |
| Attribution on free | Never, on any plan | Required for any commercial use — pre-revenue startups and internal tools included | Not required | — |
| First paid tier | $29/mo — 2M requests | $150/mo, or $125/mo billed annually — 5M requests | $129/mo, or $99/mo billed annually — 5M logo renders and 2,500 brand fetches | — |
| Hard or soft cap | Soft: over quota you get a lettermark, never an error | Free is hard (429, a broken image). Pro is soft | Soft; traffic "far beyond" the allowance is refused with a 429 | — |
| Burst limits | 6,000 origin requests/min per key, lettermark above that; the edge cache absorbs most reads | None — monthly only | 1,000 requests per 5 min per IP and 2,400 per 5 min per customer; 429 above that | — |
| Image API | ||||
| Size | size, width/w, height/h — up to 800, never upscaled | size 1–800 (default 128), width/w, height/h | w and h path segments, ratio kept; clamped 16–2048 and never upscaled — a bigger ceiling than favi’s 800 | — |
| Retina | retina=true | retina | No flag — double w and h yourself | — |
| Greyscale | greyscale=true | greyscale | No | — |
| Formats | webp (default), avif, png, jpg | jpg (default), png, webp; svg on Enterprise | webp (default), png, jpg; svg for the logo and symbol types | — |
| Logo variants | Icon | Icon | icon, logo (horizontal) and symbol | — |
| Dark theme | theme=light|dark; auto via <picture> | theme=auto|light|dark | theme/light or theme/dark in the path | — |
| fallback=404 | Yes; default is a lettermark | Yes; default is a monogram | Yes (fallback/404); the default is a transparent image when the domain does not resolve and the Brandfetch logo when the brand has no asset of that type, and a 404 is cached up to 7 days | — |
| SVG output | No | Enterprise in the docs; their pricing table also shows a "limited" SVG on lower plans | Yes, for logo and symbol | — |
| Unknown domain | Lettermark immediately (30s cache) plus a background crawl; the real logo usually lands within seconds | Placeholder now, real logo in minutes | Fallback image; brands are resolved live on first request | — |
| Stale logo fix | Self-serve refresh plus a Cloudflare edge purge | Update form, "usually within 24 hours", plus a 24h browser cache; no purge API | Update form reviewed by their QA team; automatic re-crawl once a brand is older than 3 months | — |
| Subdomains | Resolve to the parent brand; per-key overrides | Not published | Not published | — |
| Lookups | ||||
| By domain | Yes | Yes | Yes | Was the only lookup |
| Name search | /search?q= — up to 10 {name, domain, logoUrl}; free on every plan | /search?q= with suggest or match strategy; needs a secret key, and each call spends one of the month’s requests | Brand Search API — 500K/mo free, 1M–5M on paid | — |
| Name to image | /name/{brand} redirects to the top match | /name/{brand} | Not on the CDN — search, then request the domain | — |
| Stock ticker | Yes — 32 exchanges; strongest outside the US, thinnest on US small caps | Yes — 57 exchange suffixes | Yes — stock and ETF | — |
| Crypto symbol | No | Yes — around 20K tokens | Yes | — |
| ISIN | No | Yes | Yes | — |
| Brand data | ||||
| Endpoint | /brand/{domain}, same publishable key | Brand API — server-side, secret key | Brand API — server-side, Bearer key | — |
| What the JSON holds | name, description, color palette, logo blurhash, socials, every logo URL variant, image metadata | name, description, 13 social networks, color palette, logo blurhash, brandmark, social banners (URLs expire after 24h) | logos, colors, fonts, images and firmographics; also reachable by ticker, ISIN, crypto symbol or email address | — |
| How it is metered | Counts as one request on your normal quota, on every plan; no separate credits | 5 credits per call; 500 credits free, 15,000 on Pro, extra credits 1¢ each | 1 credit per fetch; 100 free one-time, 2,500–10,000/mo on Growth, $0.10 per fetch over | — |
| Cold brand | 202 while the first crawl runs | Up to 30s while it crawls | Crawled live on first request; HEAD prefetch on paid plans | — |
| Ops | ||||
| Status page | /status — uptime measured every minute from outside our network | status.logo.dev — per-service uptime percentages over 24h to 90d windows | status.brandfetch.io — per-service uptime percentages | — |
| SLA | Published 99.9% target (/legal/sla); a missed month is refunded on Pro, credited on enterprise terms | Custom agreement only | Custom (enterprise) plan only | — |
| Index breadth | Four and a half million sites plus everything any customer has requested — a cutover is a hostname change | Enterprise only, as flat-file delivery | HEAD prefetch on the Brand API for paid plans; nothing for the logo CDN | — |
| Referer allowlist | Per key; a bare domain covers its subdomains; off-list requests get a lettermark | Domain allowlist with wildcards | No allowlist published. Every request needs a client ID, and one with no client ID and no usable Referer is redirected rather than served | — |
| Fetch from a script | Allowed — the same URL works from a server or a browser | Allowed | Not permitted on the logo CDN; requests that look programmatic are redirected | — |
| Caching and self-hosting | Cache or rehost what you serve; the one limit in the terms is not reselling it as your own logo service | Browser caching only on Free. Rehosting is a paid licence that ends when you cancel — you stop serving the copies | Hotlink only; server-side access or caching needs a custom arrangement | — |
| Where it serves | Cloudflare’s network, with no country restriction | Not published | The Logo CDN answers region_unavailable in some countries, and the viewer’s location decides it | — |
| Over your quota | Lettermark, never an error | Free: 429, a broken image. Pro: keeps serving | A notification; a 429 only far beyond the allowance | — |
| Keys and teams | Unlimited keys on every plan, quota per account; no teams | Teams; key disable, rotation by emailing support | Not published | — |
| Compliance | No SOC 2 | No SOC 2 yet | SOC 2 Type 2, report in their trust center | — |
| Index | ~4.5M real logos indexed, seeded from Tranco, Majestic, Umbrella, Cloudflare Radar and Common Crawl; any miss is crawled on request | 18M+ in the docs, 50M+ on the marketing site | 50M+ claimed | — |
| Client libraries and agents | MCP server at /mcp on every plan, so an AI client can resolve logos and brands itself; no SDK otherwise — the API is a URL, with OpenAPI at /openapi.json and llms.txt | shadcn/ui components via their CLI, plus Next.js, Sheets, Excel and PowerPoint guides | MCP server, Zapier, Make, n8n | — |
favi is built for the case where the request shape is the whole integration: a URL in an <img> tag, no badge on any plan, brand JSON on the same key, two million requests for $29, uptime measured from outside our own network, and an over-quota state that is a lettermark rather than a broken image in your users' faces. That is the product, and the table above is what it does and does not cover today.
Coming from Clearbit? It shut down in December 2025 and the migration is a hostname — the Clearbit page walks through it.