Free Stock Logo API - Getting Started Guide

Building a finance app and need stock logos? The Elbstream Logo API provides free access to over 400,000 high-quality logos for stocks, ETFs, crypto, and funds. This guide will get you up and running in minutes.

What You Get (Free)

The free tier includes:

  • 400,000+ logos - Stocks, ETFs, crypto, funds
  • Multiple lookup methods - ISIN, Symbol, WKN, Crypto
  • Multiple formats - SVG, PNG, JPG, WebP
  • Custom sizes - Any size you need
  • CDN delivery - Fast, worldwide
  • Unlimited requests - No rate limits (fair use)

Quick Start (5 Minutes)

Add a stock logo to your page with a single line of HTML:

<img src="https://api.elbstream.com/logos/symbol/AAPL" alt="Apple logo" />
Apple stock logo That's it! You just displayed the Apple logo.

Step 2: Try Different Lookups

The API supports multiple ways to find logos:

<!-- By ticker symbol -->
<img src="https://api.elbstream.com/logos/symbol/TSLA" alt="Tesla" />

<!-- By ISIN -->
<img src="https://api.elbstream.com/logos/isin/US0378331005" alt="Apple" />

<!-- By WKN (German identifier) -->
<img src="https://api.elbstream.com/logos/wkn/865985" alt="Apple" />

<!-- By crypto symbol -->
<img src="https://api.elbstream.com/logos/crypto/BTC" alt="Bitcoin" />

Step 3: Choose Your Format

SVG is the default (and recommended), but you can request other formats:

<!-- SVG (default, best for most uses) -->
<img src="https://api.elbstream.com/logos/symbol/AAPL" />

<!-- PNG with custom size -->
<img src="https://api.elbstream.com/logos/symbol/AAPL?format=png&size=200" />

<!-- JPG -->
<img src="https://api.elbstream.com/logos/symbol/AAPL?format=jpg" />

<!-- WebP (modern browsers) -->
<img src="https://api.elbstream.com/logos/symbol/AAPL?format=webp" />

Step 4: Add Attribution

The free tier requires attribution. Add this link somewhere visible on your page:

<a href="https://elbstream.com">Logos provided by Elbstream</a>

Attribution requirements:

  • Must be visible (not hidden)
  • Minimum 12pt font size
  • On every page that displays logos

Code Examples

Vanilla JavaScript

function displayLogo(symbol, containerId) {
  const img = document.createElement('img');
  img.src = `https://api.elbstream.com/logos/symbol/${symbol}`;
  img.alt = `${symbol} logo`;
  img.style.width = '48px';
  document.getElementById(containerId).appendChild(img);
}

// Display Apple and Tesla logos
displayLogo('AAPL', 'logo-container');
displayLogo('TSLA', 'logo-container');

React

function StockLogo({ symbol }) {
  return (
    <img
      src={`https://api.elbstream.com/logos/symbol/${symbol}`}
      alt={`${symbol} logo`}
      className="w-12 h-12"
    />
  );
}

// Usage
function Portfolio() {
  const holdings = ['AAPL', 'TSLA', 'MSFT', 'GOOGL'];

  return (
    <div className="flex gap-4">
      {holdings.map(symbol => (
        <StockLogo key={symbol} symbol={symbol} />
      ))}
    </div>
  );
}

Vue

<template>
  <div class="portfolio">
    <div v-for="symbol in holdings" :key="symbol" class="holding">
      <img
        :src="`https://api.elbstream.com/logos/symbol/${symbol}`"
        :alt="`${symbol} logo`"
        class="w-12 h-12"
      />
      <span>{{ symbol }}</span>
    </div>
  </div>
</template>

<script setup>
const holdings = ['AAPL', 'TSLA', 'MSFT', 'GOOGL'];
</script>

Python (for server-side)

def get_logo_url(identifier, id_type='symbol', format='svg', size=100):
    base_url = 'https://api.elbstream.com/logos'
    url = f'{base_url}/{id_type}/{identifier}'

    if format != 'svg':
        url += f'?format={format}&size={size}'

    return url

# Examples
apple_logo = get_logo_url('AAPL')
tesla_png = get_logo_url('TSLA', format='png', size=200)
apple_isin = get_logo_url('US0378331005', id_type='isin')

What's Covered

Stocks

  • US stocks (NYSE, NASDAQ)
  • European stocks (LSE, Xetra, Euronext)
  • Asian stocks (TSE, HKEX, etc.)
  • And many more exchanges worldwide

ETFs

  • iShares
  • Vanguard
  • SPDR
  • Invesco
  • And hundreds of other issuers

Crypto

  • Bitcoin (BTC)
  • Ethereum (ETH)
  • All major cryptocurrencies

Funds

  • Mutual funds
  • Index funds
  • Money market funds

Common Questions

Is it really free?

Yes! The free tier is free forever with attribution. No credit card required, no trial period.

What are the rate limits?

There are no hard rate limits, but fair use applies. Don't scrape the entire database. For high-volume enterprise use, contact us.

What if a logo is missing?

The API returns a placeholder for missing logos. You can detect this and handle it in your app. Missing a logo you need? Let us know.

Can I cache the logos?

Yes! We encourage caching. Logos rarely change, so aggressive caching is fine.

Upgrading to Enterprise

Need to remove attribution or host logos on your own domain? The Enterprise plan includes:

  • No attribution required
  • Host on your own domain
  • Custom caching
  • Priority support
  • On-demand logo additions

Learn about Enterprise pricing

Next Steps