API

Two endpoints.
That is the whole API.

Fetch a logo by slug, or search the index. No SDK, no auth, no key. Use the same normalized SVG and generated exports from the catalog.

GEThttps://better-logo.com/logo/{slug}/{variant}

Fetch a logo

Returns a canonical asset or generated export for a company logo. Use a path variant for the selected asset, then query params for output options.

Path Parameters

slugstring
Company slug. Required.
stripe, claude, google-sheets
variantenum
Optional asset variant path segment.
default, dark, mono, mono-dark

Query Parameters

formatenum
Output format. Can be a query value or file extension.
svg, png, webp, jpg, jpeg, avif, ico
sizenumber
Square output size for generated exports.
16-2056, default 512
width, heightnumber
Custom dimensions. Aliases: w, h.
16-2056 each
dprenum
Pixel density multiplier. Effective dimensions must stay <= 2056.
1, 2, 3
bgcolor
Background color. Alias: background.
fff, #fbfaf7, transparent, none
fitboolean
Trim empty logo padding. Alias: fitContent.
1, true, content, trim
radiusnumber
Corner radius in generated pixels. Alias: r.
0-1024
qualitynumber
Compression quality for webp, jpg, jpeg, and avif. Alias: q.
1-100
sizeslist
ICO sizes. Up to 8 comma-separated values.
16,32,48
downloadboolean
Force an attachment response. Alias: dl.
1, true
GEThttps://better-logo.com/logo/search?q={query}

Search the index

Returns JSON matches by default. It can also redirect to the best logo match when you want one URL from a company name or domain.

Query Parameters

qstring
Search query. Matches name, slug, website, and aliases.
q=stripe
limitnumber
Maximum result count.
1-25, default 8
asenum
Redirect to the best logo instead of returning JSON.
image, logo
redirectboolean
Redirect alias for as=image.
1, true
variantenum
Variant forwarded when redirecting. Alias: v.
default, dark, mono, mono-dark
themeenum
theme=dark resolves to the dark variant when no variant is set.
dark
format, size, dprmixed
Forwarded to the redirected logo URL.
format=png&size=256&dpr=2

Example response

{
  "query": "baseten",
  "count": 1,
  "best": {
    "slug": "baseten",
    "name": "Baseten",
    "logoUrl": "/logo/baseten"
  },
  "results": [
    {
      "slug": "baseten",
      "name": "Baseten",
      "website": "baseten.com",
      "logoUrl": "/logo/baseten",
      "variants": []
    }
  ]
}