No SDK Required

Integrate the Logo API in Minutes

Just HTTP requests. No API keys, no authentication, no SDK. Pick your stack below and copy the code.

stripe.com logo
shopify.com logo
notion.so logo
slack.com logo
linear.app logo

Choose Your Stack

Click any technology to see code examples and integration details.

or migrating from Clearbit?

Quick Start

The simplest integration — just an HTML image tag:

HTML
<!-- Attribution required: link to https://logos.apistemic.com on your homepage -->
<img
  src="https://logos-api.apistemic.com/domain:stripe.com"
  alt="Stripe logo"
  width="64"
  height="64"
>

API Reference

Endpoints
GEThttps://logos-api.apistemic.com/domain:{domain}

Get logo by domain — e.g., /domain:stripe.com

GEThttps://logos-api.apistemic.com/linkedin:{slug}

Get logo by LinkedIn slug — e.g., /linkedin:stripe

GEThttps://logos-api.apistemic.com/grid

Get several logos as one image, e.g., /grid?logo=domain:stripe.com&logo=linkedin:notion&width=1200&height=630. Build one with the logo wall maker.

Logo Query Parameters
fallbackoptional

The result if there is no logo: monogram (first letter), transparent (transparent image), or 404 (no image, which triggers the onerror of an <img>). Default: monogram.

formatoptional

webp (smallest) or png for tools without WebP support, e.g. Google Docs and Slides or emails. Default: webp.

shapeoptional

original as stored, or mark for the mark without its tile or circle, spanning the image; in a grid, marks are sized by their visual weight, and among mostly tiles, original logos without one get a plain tile. Default: original.

colorsoptional

original, grayscale (all logos in a similar gray), or a hex color like 000000 that draws every logo in that one color. Default: original.

opacityoptional

How visible the logos are: 0 invisible, 0.5 half transparent, 1 opaque. From 0 to 1. Default: 1.

Grid Query Parameters
widthrequired

Size of the image in pixels. From 32 to 2048.

heightrequired

Size of the image in pixels. From 32 to 2048.

logooptional

The companies to show, one domain:… or linkedin:… per value; values that name no company are left out, like companies without a logo. Up to 50.

gapoptional

Space between logos and around them, relative to the logo size. From 0 to 3. Default: 0.5.

stretchoptional

Spread the logos over the whole image, with gap as the smallest space between them. Default: false.

alignoptional

Rows that are not full: center (spread evenly and centered), left (filled from the left), or crop (the last logos left out so that every row is full). Default: center.

backgroundoptional

transparent or a hex color like ffffff. Default: transparent.

formatoptional

webp (smallest) or png for tools without WebP support, e.g. Google Docs and Slides or emails. Default: webp.

shapeoptional

original as stored, or mark for the mark without its tile or circle, spanning the image; in a grid, marks are sized by their visual weight, and among mostly tiles, original logos without one get a plain tile. Default: original.

colorsoptional

original, grayscale (all logos in a similar gray), or a hex color like 000000 that draws every logo in that one color. Default: original.

opacityoptional

How visible the logos are: 0 invisible, 0.5 half transparent, 1 opaque. From 0 to 1. Default: 1.

Response
  • •Returns a WebP image, or PNG with format=png, named for saving, e.g. apistemic-logos-domain-stripe.com.webp
  • •Includes caching headers for optimal performance
  • •Returns monogram (first letter) if logo not found (or 404 with ?fallback=404)
  • •Grids leave out companies without a logo and values that name no company: X-Logos-Found counts the logos found (e.g. 17/20), X-Logos-Cropped lists the ones align=crop left out, and with none found the image is the empty background

Performance Tips

Lazy Loading

Use loading="lazy" for logos below the fold to improve initial page load.

Specify Dimensions

Always include width and height to prevent layout shift during loading.

Preload Critical Logos

For logos above the fold, use <link rel="preload">.

WebP Format

Our API returns WebP by default — 25-35% smaller than PNG with full browser support.

Need Help?

Have questions about integrating or a specific use case?