Skip to main content
Logo API is a simple CDN link that gives you access to any brand’s latest logos. It’s customizable with powerful transformation capabilities and is meant to be directly embedded in your HTML tags so the logo always remains up-to-date.

Implementation guide

The Logo API is a free product. Before you deploy your application to a live environment, be sure to consult our rate limits and review our usage guidelines to ensure a smooth launch.
1

Embed your logo

To avoid potential naming collisions between identifier types, you can use explicit type routes with the pattern {type}/{identifier}.To embed a logo, simply use an img tag with the following src attribute:
<img
  src="https://cdn.brandfetch.io/domain/nike.com?c=BRANDFETCH_CLIENT_ID"
  alt="Logo by Brandfetch"
/>
Without a type prefix, the API will auto-detect the identifier type by order (domain → ticker → isin → crypto).
2

Register an account and get your Client ID

Logo API is free to use and we don’t ask for any attribution.
Each request must include your unique client ID. This ensures your usage stays within fair limits and logos render reliably.To get your client ID, register for free from our Developer Portal.
3

Implement additional features

Beyond simply swapping out the base URL, Brandfetch’s Logo API offers powerful features to enhance your logo fetching experience:
  • Logo types: Access not just logo icons, but also brand symbols and main logos.
  • Theme variants: Access dark or light logos, display them on any background.
  • Customizable sizing: Adjust the logo’s height and width to fit your needs.
  • Smart fallbacks: Even when a logo isn’t available, you’ll get fallbacks.
  • Flexible identifiers: Query directly by domain (e.g., nike.com), Stock or ETF ticker (e.g., NKE, QQQ), ISIN (e.g., US6541061031), or Crypto symbol (e.g., BTC, ETH).
Explore these options in our Logo API parameters page.

Default icon

Get the brand’s default logo icon.
<img
  src="https://cdn.brandfetch.io/nike.com?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

PNG or JPG instead of WEBP

By default Logo API serves logos in the modern and highly efficient WebP format. You can use others formats by specifying the file extension in the URL. logo, symbol type variants support an additional svg format.
<img
  src="https://cdn.brandfetch.io/:domain/icon.png?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

Logo sizing / Retina

Customize the logo’s dimensions by adding w (width) and h (height) query parameters to the URL. The ratio of the logo is always respected. For Retina displays, double the size values for optimal display. e.g., for a 64x64 icon display, set h=128 and w=128.
<img
  src="https://cdn.brandfetch.io/:domain/h/128/w/128/icon.png?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

Type variants

Request different types of logos by using the type path parameter. Available variants are: icon, symbol, and logo.
<img
  src="https://cdn.brandfetch.io/:domain/symbol?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

Dark and light themes

Ensure the logo looks great regardless of the background color of your application.
<img
  src="https://cdn.brandfetch.io/:domain/theme/light/logo?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

Multiple fallbacks

Specify a fallback option to be used when the a logo is not available. See all fallbacks.
<img
  src="https://cdn.brandfetch.io/:domain/fallback/lettermark/icon?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>

Usage guidelines

Authentication

To use Logo API, you must include your client ID with every request.Adding your client ID provides reliable access, supports fair usage, and keeps consistent performance across all requests.Create a free account and access your client ID from the developer portal.Include your client ID in each request as shown in the example below:
<img
  src="https://cdn.brandfetch.io/:domain?c=BRANDFETCH_CLIENT_ID"
  alt="Logos by Brandfetch"
/>
We require logo links to be directly embedded in your applications.Embedding logo links directly within your HTML image tags guarantees that the logo remains up-to-date at all times. It also ensures a faster and more reliable implementation.
When embedding a logo link, HTTP requests must include the Referer header with the request origin. Your HTTP Referrer-Policy header must be set to one of: origin, origin-when-cross-origin, strict-origin, strict-origin-when-cross-origin (browser default), or unsafe-url.
Programmatic access to logo images is not permitted and may result in rate limiting or blocking. Scraping logos will also lead to a block.
If your use case requires caching, please contact us for a custom setup.
You cannot replicate the core user experience of Brandfetch.The best way to ensure that your application doesn’t violate this guideline is by integrating Brandfetch into an existing app that offers more value than just the Brandfetch integration.Some examples:
  • ✅ The Typeform integration improves the user’s onboarding by presenting brand logos. Without this integration, the app still has a lot of value to its users.
  • ✅ The Pitch integration brings brand logos inside Pitch’s editor to streamline the creation of presentations. Without this integration, the app still has a lot of value to its users.
  • 🚫 A logo search that only returns logos from Logo API. Without the integration, the app has no content and no value to users.
  • 🚫 An unofficial Logo API that allows users to access brand logos via Logo API. Without the API, the app has no content and no value to users.
If you’re unsure about your use case, please contact us.

Rate limits

We offer a fair use rate limit of 500,000 requests per month, which is designed to cover most small to medium applications. This is a soft limit and you won’t immediately be blocked if you exceed it. If your usage approaches this limit, we’ll send you a friendly heads-up so you can adjust your usage or explore an upgrade to an unlimited tier. To maintain platform reliability, request throughput limits also apply:
  • 1,000 requests every 5 minutes per IP
  • 2,400 requests every 5 minutes per customer
Exceeding these throughput limits returns an HTTP 429 status code. Let us know if your application requires higher throughput. For enterprises, we provide custom solutions, including SLA agreements, custom terms, and flexible caching options to ensure optimal performance at scale. These plans are tailored to meet the needs of high-volume users. Feel free to contact us to discuss the right plan for your use case.