favi serves the same request shape as img.logo.dev — domain in the path, options in the query string — so moving over is a hostname swap. Even the key parameter can stay: token is accepted as an alias for key.
- https://img.logo.dev/stripe.com?token=pk_live_…+ https://img.favi.sh/stripe.com?key=pk_your_keyWhat changes: no attribution link on any plan, the first paid tier is $29 instead of $150, brand data is on the same publishable key instead of metered credits, and going over quota serves a lettermark rather than a broken image.
Every image parameter Logo.dev documents is accepted here under the same name. The two real differences are the default format and the absence of SVG.
| Parameter | Logo.dev | favi |
|---|---|---|
| Key | token= | key= — token= accepted as an alias |
| size | 1–800, default 128 | Up to 800; never upscaled past the source |
| width / w, height / h | Yes | Same |
| retina | retina=true | Same |
| greyscale | greyscale=true | greyscale=true |
| format | jpg (default), png, webp; svg on Enterprise | webp (default), avif, png, jpg; no svg |
| theme | auto | light | dark | light | dark; auto via <picture> |
| fallback | monogram (default) | 404 | lettermark (default) | 404 |
If your markup relied on JPG being the default, add &format=jpg once — otherwise you get WebP at roughly half the bytes. See formats and sizes.
Checked 2026-09-18 against Logo.dev's pricing page, docs and OpenAPI description. Where they are better, the table says so.
| favi | Logo.dev | |
|---|---|---|
| Free tier | 500K/mo | 500K/mo, hard cap |
| Attribution on free | Never | Required for any commercial use, pre-revenue and internal tools included |
| First paid tier | $29/mo — 2M requests | $150/mo, or $125/mo billed annually — 5M requests, soft cap |
| Brand data | /brand/{domain} on the same key, counted as a request | Secret-key Brand API, 5 credits a call; 500 credits free, 15,000 on Pro, 1¢ per extra |
| Ticker lookup | Yes — 32 exchanges | Yes — 57 exchange suffixes |
| Crypto and ISIN lookups | No | Yes |
| SVG output | No | Enterprise in the docs; their pricing table also shows a "limited" SVG lower down |
| Unknown domain | Lettermark now, real logo usually within seconds | Placeholder now, real logo in minutes |
| Stale logo fix | Self-serve refresh + edge purge | Update form, usually within 24h; 24h browser cache; no purge API |
| Uptime accountability | Externally measured status page + published 99.9% target with a remedy | Status page with per-service uptime percentages; SLA by custom agreement |
| Over your quota | Lettermark, never an error | Free: 429, a broken image. Pro: keeps serving |
| Burst limits | 6,000 origin requests/min per key; the edge absorbs the rest | None, monthly only |
| Caching and self-hosting | Cache or rehost what you serve; the one limit is not reselling it as your own logo service | Browser caching only on Free; rehosting is a paid licence, and cancelling ends your right to serve the copies |
| Attribution checking | No badge to place, so nothing to verify | The production URL is submitted in their dashboard and the link has to stay publicly reachable and pass a referrer |
| Teams | No | Yes |
Same free volume, different terms: theirs asks for an attribution badge on any commercial use, including internal tools and pre-revenue startups. favi's 500K is badge-free on every plan, and the step up is $29 rather than $150.
On tickers, the honest number: favi resolves 9,832 of 18,369 listings across 32 exchanges. Coverage is strong outside the US — London 97%, Tokyo 94%, Frankfurt and Paris 99% — and thinner on US small caps, at 35% of the SEC's list. A symbol we cannot resolve returns a lettermark, never another company's logo.
The index covers four and a half million sites and every domain any customer has ever asked for, so a cutover is the hostname change and nothing else. Subdomains resolve to the parent brand automatically, and dark-mode variants are there when you need them.