TinyAppMart logo

TinyLogo

The logo of any online service, as a drop-in image URL. No signup needed to try it — just point an <img> at it. Logos are pulled from each brand's own site and cached on the edge.

Get an API key → How it works

Use it in one line

No server calls, no SDK. Drop it into an <img> — it works with no key at all:

<img src="https://logo.tinyappmart.com/v1/stripe.com?size=128">

A key just raises your daily limit and lets you lock it to your own domains. Add it as ?token=pk_live_… (or an Authorization: Bearer header for backends).

live — resolved from each site, cached & resized. No key on this page.

Parameters

ParamDefaultNotes
tokenoptional. pk_live_… in the URL, or Authorization: Bearer. Keyless works, at a lower daily limit.
size128square px, 16–512
formatpngpng · webp · jpg · svg
typeiconicon (wordmark coming later)
themelightlight (dark coming later)

The path can be a domain (stripe.com) or a bare name (stripestripe.com).

For backends — JSON

Writing server-side code? A secret sk_live_… key unlocks JSON endpoints (send it as Authorization: Bearer, never in a browser):

GET /v1/stripe.com/meta     → variants, formats & sizes available
GET /v1/search?q=stripe     → name → domain

How resolution works

For each domain we try, in order: a curated override → the brand's own site (apple-touch-icon, web-manifest icons, og:image) → a favicon service → a generated monogram so you never get a broken image. The result is cached, so each logo is fetched once and served fast forever after.

Free while in beta

Keyless: 1,000 requests/day per visitor IP — great for testing & small projects. With a free key: 10,000/day. A short per-minute burst limit keeps things fair (normal pages never hit it — logos are cached, so repeat views don't even reach us). Create a key with your tinyappmart account.