Skip to main content
Use case prompt
An integrations marketplace, a job board, or a vendor directory shows the same card thousands of times, and a card with no logo looks incomplete. Put the company’s current logo on each listing and a real description on each profile, so visitors trust what they read. Store one domain for each listing, and a rebrand needs no new file. Your app owns that domain, the look of the cards, and what a listing shows when Logo.dev has no data for a company.

Store a domain with each listing

Each listing needs a name and the company’s domain: If the person who adds a listing has only a company name, let them pick the company with a company autocomplete, and store the domain that they pick.

Render the listing card

Each card is one Logo CDN URL next to the fields that the listing already has. The same card works as a connector tile, a job listing, or a vendor row:
For a muted grid, add the greyscale parameter to each logo URL.

Add a company profile

The Brand API returns the company’s name, description, and social profiles from the same domain. Call it from your server with your secret key:
api/company-profile.ts
Store the result with the listing, and render from it: The profile component calls the route, retries while the brand is indexing, and always shows the logo and the name:
To refresh a saved profile when the company changes its brand, use update webhooks.

Test the directory

Test a card and a profile for a company with full data (stripe.com), a logo with a white background (notion.so), a transparent dark mark (github.com), a domain with no logo (made-up-startup.io), a listing with no domain, and a domain that Logo.dev has not indexed yet. Make the profile request fail once, and check that the logo and the name stay on screen. Check each card in light and dark mode.

Brand API

Get a brand’s description, socials, colors, and images.

CRM logos

Put a logo and description on every account record.