Developers

Typed SDKs, or
just a plain URL.

The API is plain HTTP, so the smallest integration is a single address — logos, variants, colors, kits, search and symbol lookup all included. When you want types, a client and a component that handles missing logos for you, there are two tiny packages.

No SDK required

Start with
a URL.

Nothing to install, nothing to configure. Every capability can be called straight from browser code — search included — without a server-side proxy in between.

Most teams never go past this. The packages below exist for the cases where types and a ready-made component genuinely earn their place.

Installation and usage in the docs

Three levels of integration, from a plain URL to a React componentThe smallest integration is an image address with nothing installed. A typed client adds compiler checks. A React component adds the missing-logo case for you.LEVEL ONEJust an addressnothing installed,nothing configuredSan image, on the pageLEVEL TWOA typed clientthe compiler catches abad size or a typochecked before it shipsfor calls from your serverLEVEL THREEA React componentthe missing-logo case isalready written for youSUreal mark, or a tile — never broken
Three levels of integration. Each one is optional — the first already works.
@anylogo/logokit

A tiny typed client

Zero dependencies and fully typed. One helper builds a logo address without touching the network; the client wraps company lookups and search, and takes an optional key.

Reach for it when you want the compiler to catch a bad size or a misspelled field, and when company lookups and search are going through your own server rather than the browser.

Build a logo address Hands back the address for a company’s mark at the size and format you want, without touching the network. The compiler rejects a size or format that does not exist.
Look up a company Resolves to a fully typed company record, or to nothing at all when the domain is unknown or unreachable — so the empty case is one you have to handle rather than one that surprises you. Which fields come back depends on your tier.
Search by name Resolves to a typed list of matches — name, domain and logo for each. Queries too short to be meaningful return an empty list without making a request at all.
Types included Every shape the client returns is exported, so the records flowing through your own code are typed end to end.

Installation and usage in the docs

@anylogo/react

One component, batteries included

Real logo when it exists, a deterministic letter tile when it doesn't — the colour is derived from the domain, so the same company always gets the same tile. The whole logokit client is re-exported, so one dependency covers both.

Reach for it when you are rendering companies in a React list and do not want to write the missing-logo case yourself — the component already handles the miss, the alt text and the lazy loading.

A list of companies where every row renders, logo or notRows with a known logo show the real mark. The row without one shows a lettered tile coloured from its domain, so the list stays even rather than showing a broken image.Every row renders, whether we have the mark or notSStripereal markSSpotifyreal markUUnknown Startupno mark — a lettered tile, coloured from the domainThe same company always gets the same tile, so the list stays visually stable between loads.
The component decides per row: the real mark when we have it, a lettered tile when we do not.
The companyThe only required input. Give it a domain and it renders that company’s mark.
The sizeSets both the mark requested and the box it renders into, so the row height is predictable.
The nameUsed for the alt text and for the letter on the fallback tile. Falls back to the domain when you do not have one.
Your own fallbackRender anything you like in place of the built-in tile when no logo exists.
Your own stylingClasses and styles pass through to both the image and the fallback tile, so it drops into your design system rather than fighting it.
RequirementsReact 18 or newer. Images are lazy-loaded by default.

Installation and usage in the docs

Full API reference.

Parameters, response schemas, headers, error codes and rate limits — all documented.