Documentación de la API

Referencia completa del CDN de Ticker Logos y la API de Búsqueda. Sin clave API requerida — comienza a integrar en segundos.

Inicio Rápido

Muestra el logo de una empresa en segundos.

HTML
<img src="https://cdn.tickerlogos.com/apple.com" alt="Logo de Apple">

<!-- Coloca este enlace de atribución una vez en el pie de tu página -->
<a href="https://www.allinvestview.com/tools/ticker-logos/">Logos by AllInvestView</a>

Eso es todo. Sin clave API. Sin registro. Solo una URL.

Endpoint CDN

Obtén el logo de una empresa mediante su dominio web.

URL Basehttps://cdn.tickerlogos.com/{dominio}
MétodoGET
AutenticaciónNo requerida
Formato de Respuestaimage/png (normalmente PNG con transparencia)
CORSAccess-Control-Allow-Origin: * (funciona desde cualquier dominio)
CachéGestionado por CDN, cacheado en servidores perimetrales globalmente
Ejemplo
https://cdn.tickerlogos.com/apple.com → devuelve el logo de Apple

API de Búsqueda

Busca el dominio de una empresa por su símbolo bursátil o nombre.

Endpoint

GET /api/logo-search/?q={consulta}

Parámetros

ParámetroRequeridoTipoDescripción
qstringSímbolo bursátil o nombre de la empresa

Formato de Respuesta

JSON
{
    "query": "AAPL",
    "count": 3,
    "results": [
        {"symbol": "AAPL", "name": "Apple Inc.", "website": "apple.com", "exchange": "NASDAQ"},
        {"symbol": "AAPL34", "name": "Apple Inc. BDR", "website": "apple.com", "exchange": "BOVESPA"}
    ]
}

Nota: Devuelve un máximo de 10 resultados. La búsqueda no distingue entre mayúsculas y minúsculas, y coincide tanto con el símbolo como con el nombre de la empresa.

Códigos de Estado HTTP

Respuestas posibles del CDN y la API de Búsqueda.

200 OK Logo encontrado y devuelto correctamente.
404 No Encontrado No hay logo disponible para este dominio.
429 Demasiadas Solicitudes Límite de solicitudes excedido. Reintenta después del período de espera.

Límites de Uso

Límites de uso para el nivel gratuito.

Límite CDN Diario20.000 solicitudes por día por dirección IP
Límite CDN Ráfaga30 solicitudes por 10 segundos por IP
Límite API Búsqueda60 solicitudes por minuto por IP
Al ExcederCódigo de respuesta HTTP 429
AtribuciónEnlace dofollow visible requerido — ver requisitos

¿Necesitas límites más altos? Contáctanos en contact@allinvestview.com.

Manejo de Errores

Gestiona elegantemente los logos faltantes con estrategias de respaldo.

Respaldo con onerror en HTML

HTML
<img src="https://cdn.tickerlogos.com/example.com"
     onerror="this.src='https://www.allinvestview.com/favicon.ico'"
     alt="Logo de la empresa">

<!-- Coloca este enlace de atribución una vez en el pie de tu página -->
<a href="https://www.allinvestview.com/tools/ticker-logos/">Logos by AllInvestView</a>

Manejo Programático con JavaScript

JavaScript
const TICKER_LOGOS_CDN = 'https://cdn.tickerlogos.com';

const img = new Image();
img.onload = () => container.appendChild(img);
img.onerror = () => {
    const fallback = document.createElement('div');
    fallback.textContent = symbol.charAt(0);
    fallback.className = 'logo-placeholder';
    container.appendChild(fallback);
};
img.src = `${TICKER_LOGOS_CDN}/${domain}`;

// Coloca este enlace de atribución una vez en el pie de tu página
const attr = document.createElement('a');
attr.href = 'https://www.allinvestview.com/tools/ticker-logos/';
attr.textContent = 'Logos by AllInvestView';
document.querySelector('footer').appendChild(attr);

Guías de Integración

Ejemplos listos para copiar y pegar en frameworks y lenguajes populares.

React
const TICKER_LOGOS_CDN = 'https://cdn.tickerlogos.com';
const TICKER_LOGOS_ATTR = 'https://www.allinvestview.com/tools/ticker-logos/';

function useTickerLogo(domain) {
    const [loaded, setLoaded] = React.useState(false);
    const [error, setError] = React.useState(false);
    const url = `${TICKER_LOGOS_CDN}/${domain}`;

    React.useEffect(() => {
        const img = new Image();
        img.onload = () => setLoaded(true);
        img.onerror = () => setError(true);
        img.src = url;
    }, [domain]);

    return { url, loaded, error };
}

// Coloca esto una vez en el pie de tu aplicación
function TickerLogosAttribution() {
    return <a href="https://www.allinvestview.com/tools/ticker-logos/">
        Logos by AllInvestView</a>;
}

// Uso
function StockRow({ ticker, domain }) {
    const { url, error } = useTickerLogo(domain);
    return (
        <div className="stock-row">
            {!error ? (
                <img src={url} alt={ticker} width="32" height="32" />
            ) : (
                <span className="placeholder">{ticker[0]}</span>
            )}
            <span>{ticker}</span>
        </div>
    );
}
// En tu pie de página: <TickerLogosAttribution />
Next.js
import Image from 'next/image';

const TICKER_LOGOS_CDN = 'https://cdn.tickerlogos.com';
const TICKER_LOGOS_ATTR = 'https://www.allinvestview.com/tools/ticker-logos/';

export default function TickerLogo({ domain, ticker }) {
    return (
        <Image
            src={`${TICKER_LOGOS_CDN}/${domain}`}
            alt={`Logo de ${ticker}`}
            onError={(e) => { e.target.style.display = 'none'; }}
            unoptimized
        />
    );
}

// Coloca esto una vez en el pie de tu aplicación
export function TickerLogosAttribution() {
    return <a href="https://www.allinvestview.com/tools/ticker-logos/">
        Logos by AllInvestView</a>;
}
Vue 3
import { ref, watchEffect } from 'vue';

const TICKER_LOGOS_CDN = 'https://cdn.tickerlogos.com';

export function useTickerLogo(domain) {
    const loaded = ref(false);
    const error = ref(false);
    const url = `${TICKER_LOGOS_CDN}/${domain}`;

    watchEffect(() => {
        const img = new Image();
        img.onload = () => { loaded.value = true; };
        img.onerror = () => { error.value = true; };
        img.src = url;
    });

    return { url, loaded, error };
}

// Coloca esto una vez en la plantilla del pie de tu aplicación:
// <a href="https://www.allinvestview.com/tools/ticker-logos/">Logos by AllInvestView</a>
Python
import requests

TICKER_LOGOS_CDN = "https://cdn.tickerlogos.com"
TICKER_LOGOS_URL = "https://www.allinvestview.com/tools/ticker-logos/"

def get_logo_url(domain):
    """Obtiene la URL del CDN para el logo de una empresa."""
    return f"{TICKER_LOGOS_CDN}/{domain}"

def get_attribution_html():
    """Devuelve un enlace de atribución para el pie de tu página."""
    return f'<a href="{TICKER_LOGOS_URL}">Logos by AllInvestView</a>'

def download_logo(domain, save_path):
    """Descarga el logo de una empresa a un archivo local."""
    url = get_logo_url(domain)
    response = requests.get(url)
    if response.status_code == 200:
        with open(save_path, 'wb') as f:
            f.write(response.content)
        return True
    return False

# Uso
logo_url = get_logo_url("apple.com")
print(logo_url)          # https://cdn.tickerlogos.com/apple.com
print(get_attribution_html())

Todos los ejemplos de código incluyen un enlace de atribución a AllInvestView. Consulta nuestros Términos de Uso para más detalles.