# Fetch Company Logos by Domain in Python

> One requests.post call returns a transparent PNG for any domain. Copy-paste Python, no SDK, no attribution required. $0.01 per lookup.

**Canonical URL:** https://superlogo.ai/python-logo-api  
**Target query:** `python get company logo from domain`  
**Summary:** How to fetch a company logo by domain in Python. Copy-paste code using requests, returns a transparent PNG. SuperLogo API, $0.01 per lookup, no attribution required.

## Overview

Getting a company logo from a domain in Python comes up constantly: CRM enrichment, a data pipeline, a generated report, a Streamlit dashboard. Favicons are too small and press-kit scraping does not scale, so the practical answer is a single requests.post to a logo API. Here is the whole thing: post the domain, base64-decode the response, write the PNG.

## Why teams switch

- **Favicon libraries return tiny, uneven icons:** A 16px or 32px favicon looks broken in a report or a Streamlit card. You need a real logo at a usable resolution.
- **Pipelines need batch, not one-at-a-time:** Looping one HTTP call per row is slow and rate-limit-prone. A logo API that takes 700 domains per request keeps the pipeline fast.
- **Subscription APIs do not fit variable jobs:** A monthly quota is wasted on a pipeline that runs occasionally. Pay-as-you-go at $0.01 per domain bills only for what the job actually fetched.

## What SuperLogo does differently

- **Two lines with requests:** POST to /v1/resolve with a Bearer token, then base64.b64decode the logo_base64 field. No SDK, no auth flow.
- **Transparent PNG with clean alpha:** The decoded bytes are a ready-to-use PNG. Drop it into python-pptx, Pillow, reportlab, or a web response.
- **Batch up to 700 domains per call:** Pass a list and get a list back. One request enriches a whole DataFrame column.
- **No attribution at any tier:** Use the logos in a commercial product or client deliverable with no credit link required.
- **$0.01 per domain lookup:** Pay-as-you-go, failed lookups free. No monthly minimum to keep a batch job running.

## FAQ

### What is the full Python snippet?

import requests, base64; r = requests.post("https://superlogo.ai/v1/resolve", headers={"Authorization": "Bearer sl_live_YOURKEY"}, json={"domains": ["stripe.com"]}); png = base64.b64decode(r.json()["logos"][0]["logo_base64"]); open("stripe.png", "wb").write(png)

### How do I enrich a pandas DataFrame of domains?

Send the column as a list: json={"domains": df["domain"].tolist()} (up to 700 per request), then map each returned logo back to its row by the domain field in the response.

### How do I insert the logo into a PowerPoint with python-pptx?

Decode to bytes, wrap in io.BytesIO, and pass to slide.shapes.add_picture(BytesIO(png), left, top, width). The transparent PNG sits cleanly on any slide background.

### What if I only have company names?

Use json={"names": ["Stripe"]}. An AI step resolves the domain first, then fetches. Name lookups are $0.04 vs $0.01 for a known domain.

## Get started

- **View the API:** https://superlogo.ai/api
- **API docs:** https://superlogo.ai/v1/docs.html
- **All company logo pages:** https://superlogo.ai/sitemap.xml
