Logo CDN
Logo Link API
Serve company logos through a spreadsheet-friendly public Logo Link endpoint with monogram fallback.
How it works
From input to useful output in three steps
GET /logo-link
Use one URL pattern
Pass a domain and public Logo Link client id from an image tag or spreadsheet formula.
GET /logo-link?domain=stripe.com
Pick the best visual asset
Use favicon, manifest, header and Open Graph candidates to find a usable logo.
hosted logo asset
Avoid broken UI
Return a deterministic monogram when no usable logo is found.
SVG/PNG fallback
Example workflow
Domain to spreadsheet-friendly logo
A stable logo image URL for a company domain.
A hosted logo when available or a clean monogram fallback.
No broken logo cells in dashboards, CRMs, spreadsheets or reports.
=IMAGE("http://127.0.0.1:8013/logo-link?publicClientId=logoLL_local_demo&domain=" & A2)
Built for
Teams that can use this immediately
CRM tables
Challenge: Rows with broken images look unfinished.
Solution: Use a stable Logo Link URL.
Impact: Every account has a visual identifier.
Spreadsheets
Challenge: Users need logos without scripts.
Solution: Use IMAGE formulas with Logo Link.
Impact: Sheets and Excel stay simple.
Directories
Challenge: Logo inventory changes over time.
Solution: Resolve logos at render time with cache.
Impact: Listings remain visually consistent.
01
Drop logos into any product
Use a single URL pattern to show logos in dashboards, profile cards, CRM tables and directories.
02
Works in spreadsheets
Google Sheets and Excel can render Logo Link with their built-in IMAGE formulas.
03
Fallbacks that look intentional
When no logo is found, the endpoint returns a deterministic monogram instead of a broken image.
Implementation FAQ
Questions teams ask before building Logo Link API
What does Logo Link API help me build?
It turns Company logo API for dashboards, CRMs, spreadsheets and internal tools. into a repeatable workflow. The first practical outcome is public client id flow.
Which API should I call first?
Start with GET /logo-link. The workflow section shows the supporting endpoints to add when you need more context, evidence or visual assets.
What input do I need from my user?
The smallest useful input is shown in the example workflow: A stable logo image URL for a company domain. Ask only for the domain, URL, email, ticker or descriptor that the selected endpoint actually needs.
What should I store from the response?
Store the normalized result together with source URLs, confidence or access state, and the time it was fetched. This keeps later refreshes and human review explainable.
Can I use this from a backend, CLI or AI agent?
Yes. The REST endpoint, TypeScript and Python SDKs, CLI and MCP tools use the same local API contract. No-code templates are available for business workflows.
How do I keep the result current?
Use maxAgeMs where the endpoint supports it, or schedule the relevant crawl or workflow. Refresh facts that can change and cache stable assets such as logos more aggressively.
What happens when the website blocks access?
The API reports blocked, verification_required, login_required, robots_disallowed or permission_required instead of treating an empty page as a successful result.
How should I handle missing fields?
Keep the UI usable with optional fields, sensible placeholders and manual overrides. A missing logo, address or classification should not prevent the rest of the workflow from completing.
Who is this workflow designed for?
The examples focus on crm tables, spreadsheets, directories, but the API response is general enough to use in custom applications.
Can I review the result before publishing it?
Yes. Show extracted values, source URLs and generated visual previews in an approval step before changing customer-facing content or records.
Is batch processing supported?
Use the batch, crawl or workflow endpoint shown for the capability when available. For smaller integrations, process a controlled list and record individual failures rather than failing the whole job.
How do I try the complete example locally?
Open the linked playground from this page or call GET /logo-link at http://127.0.0.1:8013 with X-API-Key: mh-localhost-dev-key. The example payload on this page is ready to adapt.
Related use cases