MH MediaHarvester Web Context API

Logo CDN

Logo Link API

Serve company logos through a spreadsheet-friendly public Logo Link endpoint with monogram fallback.

Logo URL Fallback Sheets Excel
01 Public client ID flow
02 GET and HEAD support
03 SVG monogram fallback
04 Sheets and Excel IMAGE formula

How it works

From input to useful output in three steps

GET /logo-link
Request

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
Resolve

Pick the best visual asset

Use favicon, manifest, header and Open Graph candidates to find a usable logo.

hosted logo asset
Fallback

Avoid broken UI

Return a deterministic monogram when no usable logo is found.

SVG/PNG fallback

Example workflow

Domain to spreadsheet-friendly logo

Embed asks for

A stable logo image URL for a company domain.

MediaHarvester returns

A hosted logo when available or a clean monogram fallback.

App renders

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

12 answers
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

Explore adjacent workflows