Get Logos from a Domain - Context.dev

3 min read Original article ↗

Logo Link is a Context.dev service that provides fast, reliable logo delivery via a global CDN. Pass a publicClientId and a domain to the Logo Link URL and use it as your <img> source URL.

Integrate Context.dev's Logo Link in your app

Try it

Prerequisites

Build the URL

Replace publicClientId and domain in the Base URL and set it as the image source:

https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com

Response

The body is the raw logo bytes; there is no JSON envelope. Point an <img> tag at the URL and the browser renders it. Fetch it with code and you get a binary blob.

HeaderValue
Content-TypeThe actual media type of the image: image/png, image/svg+xml, image/jpeg, etc.
Cache-Control24-hour browser cache.

Pricing

Logo Link usage is billed separately from the core Context.dev APIs. Logo Link requests do not consume your API credits. Every plan comes with a dedicated monthly Logo Link requests pool along with its API credits:

PlanAPI credits / monthLogo Link requests / month
Free500 (one-time)10,000
Starter ($49)30,000500,000
Pro ($149)200,0002,500,000
Scale ($949)2,500,00025,000,000
EnterpriseCustomCustom

See pricing for details. Logo Link has no rate limit, and you can track your current usage in the Logo Link dashboard. Billing is throttled to one charge per unique logo per client per 24 hours. Spikes of traffic for the same handful of logos cost the same as steady traffic. Logos are delivered with a 24-hour browser Cache-Control header so a repeat view in the same browser session doesn’t count towards your usage. This header-driven browser/CDN caching is expected and allowed. See Usage Restrictions for what isn’t.

Embed the image

Drop the URL into any place that accepts an image source: <img>, CSS background-image, an email template, a spreadsheet =IMAGE() cell.

<img
  src="https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com"
  alt="Stripe logo"
/>
.company-card {
  background-image: url("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com");
  background-size: contain;
  background-repeat: no-repeat;
}
function CompanyLogo({ domain }) {
  const publicClientId = process.env.NEXT_PUBLIC_LOGOLINK_KEY;

  return (
    <img
      src={`https://logos.context.dev/?publicClientId=${publicClientId}&domain=${domain}`}
      alt={`${domain} logo`}
      onError={(e) => {
        e.target.style.display = "none";
      }}
    />
  );
}
const response = await fetch(
  "https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com",
);

if (response.ok) {
  const blob = await response.blob();
  const imageUrl = URL.createObjectURL(blob);
  document.getElementById("logo").src = imageUrl;
}
<img
  src="https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com"
  alt="Stripe"
  width="48"
  height="48"
  style="border-radius:8px;"
/>

Usage Restrictions

Logo Link is intentionally ephemeral, fast and image-only. You are not allowed to download and re-host logos retrieved from Logo Link, or persist the image files in your own storage. (Normal browser and CDN caching driven by the response’s Cache-Control headers is fine.) Use Context.dev’s Brand APIs if you:

  • Need to store logos in your own database
  • Get multiple logo variants (light / dark / opaque background, icon vs wordmark)
  • Or, pull logo colors and other brand details alongside the logo

Need the brand’s fonts too? Those come from the Styleguide and Fonts APIs.

Use cases

Logo Link is purpose-built for client-facing embeds where you’d otherwise have to host logo assets yourself:

  • CRM & Sales Platforms: Drop a Logo Link URL into every contact record.
  • Customer Logo Walls: Use users’ sign-up email domains to automatically generate “trusted by” strips on landing pages.
  • Financial & Banking Apps: Render merchant logos next to transaction descriptors.
  • Directories & Marketplaces: Populate listings with logos automatically, with no upload step in vendor onboarding.

Next steps