Skip to main content
Google’s s2/favicons endpoint fetches a website’s favicon, not its logo, but it’s free and shows up often as a quick hack for displaying company “logos.” It’s worth understanding what it actually returns before relying on it.
Google doesn’t publish or officially support this endpoint. It’s unmaintained, has no uptime guarantee, and can change or disappear at any time.

Brand quality & time to value

There’s no brand dataset behind Google’s endpoint, it returns whatever favicon happens to be declared in a site’s HTML at request time, with no check that it represents the brand at all. Brandfetch resolves an actual logo for 95% of brands in its core distribution, and 86% even at the extreme long tail of small, non-tech businesses, measured and published openly. That gap turns into engineering time, not just a worse-looking result. Teams pulling from Google’s endpoint end up writing their own detection for missing, generic, or wrong-looking favicons before they can ship. A link that’s already been verified against real brand data skips that work entirely.

Quick comparison

How requests compare

Google Favicon API
Brandfetch
Favicons are designed to be legible at 16x16 pixels in a browser tab, not to represent a brand in a product UI. Most sites’ favicons are cropped, low-resolution, or a generic icon unrelated to the brand’s actual logo. There’s no way to request a full logo, a dark-mode variant, or a specific brand asset type from Google’s endpoint, because it was never built to serve one.

Why teams choose Brandfetch

  • Real logos, not favicons. Every request pulls from Brandfetch’s brand dataset, not a compressed browser-tab icon.
  • Built for production. 100% uptime and documented rate limits, backed by a team that maintains it.
  • Actual customization. Size, format, theme, type, and fallback are all first-class parameters.

Get started

Logo API overview

See the full feature set and implementation guide

Get your client ID

Free account, no credit card required