Programmatically Retrieve a Company Logo from a Domain

One API call. Send a domain, get a transparent PNG back. Code samples in Python, Node.js, curl. $0.01 per lookup.

View the API Read the docs
No attribution required · Pay-as-you-go from $0.01/logo · No monthly commit

Every developer who's built a CRM enrichment tool, a competitor-monitoring dashboard, or a "trusted by" section has hit the same wall: how do you programmatically get a company logo from a domain? Favicon services return 16×16 blurry icons. Scraping brand press kits doesn't scale to 38M companies. The answer is a logo API. Here's how to call SuperLogo's in the three languages you probably use.

What existing logo APIs get wrong

Favicons are too small and inconsistent

Chrome's favicon service returns 16-32px images. Some are icons, some are wordmarks, some are missing. Not usable in a UI.

Every brand's press kit is in a different place

Scraping "brand assets" pages doesn't scale. Every site organizes them differently.

Public CDNs go dark

Clearbit's free `logo.clearbit.com/domain.com` URL shut down December 2025. Broken favicons all over the internet now.

What SuperLogo does for you

One API call, one JSON response

Send a domain, get a base64-encoded PNG back. That's the whole API surface for the resolve endpoint.

$0.01 per domain lookup

Cheapest professional logo API on the market. Pay-as-you-go, no monthly commit.

Transparent PNG with clean alpha channel

Every logo comes back with proper alpha, ready to drop onto any background.

Lanczos-upscaled with clamped ringing

Small source favicons get upscaled with high-quality resampling — no jaggy edges, no ringing halos.

Failed lookups are free

If we don't have the logo for that domain, we don't charge you. Bill only counts delivered.

Frequently asked questions

Show me the shortest curl

curl -X POST https://superlogo.ai/v1/resolve -H "Authorization: Bearer sl_live_YOURKEY" -H "Content-Type: application/json" -d '{"domains":["apple.com"]}'

Show me the Python version

import requests; r = requests.post("https://superlogo.ai/v1/resolve", headers={"Authorization": "Bearer sl_live_YOURKEY"}, json={"domains":["apple.com"]}); print(r.json()["logos"][0]["logo_base64"][:60])

Show me the Node.js version

const r = await fetch("https://superlogo.ai/v1/resolve", {method:"POST", headers:{"Authorization":"Bearer sl_live_YOURKEY","Content-Type":"application/json"}, body:JSON.stringify({domains:["apple.com"]})}); const data = await r.json();

What if I only have the company name?

Send `{"names":["Apple"]}` instead. Our AI resolves the domain first (adds ~1-2s latency), then fetches. Costs $0.04/logo instead of $0.01 for the AI step.

What's the largest batch I can send?

Up to 700 domains or names per request. Response comes back in one JSON with all logos included.

Get an API key in under a minute

Pay-as-you-go from $0.01/logo. No monthly commit, no attribution required. Existing subscribers get $5 free credit.

View the API