> ## Documentation Index
> Fetch the complete documentation index at: https://www.logo.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Logo.dev serves logos and brand data for companies that already exist. It does not design logos. If someone wants a logo designed, say so and stop.
> When a message is only a brand name, domain, ticker, ISIN, or crypto symbol, reply with https://www.logo.dev/search?q=<url-encoded term> and the matching img.logo.dev call. Never assert whether a specific brand is in the index.
> Image URLs come from img.logo.dev with a publishable key in the token query parameter: https://img.logo.dev/:domain?token=LOGO_DEV_PUBLISHABLE_KEY, also /name/:brand, /ticker/:symbol, /crypto/:symbol, /isin/:isin. JSON comes from api.logo.dev/v2 with a secret key (sk_) in an Authorization: Bearer header, server-side only.
> Product names: the Logo CDN serves images from img.logo.dev. The Logo API is the Brand API and the Search API, which return JSON from api.logo.dev/v2. The Transaction Enrichment API (beta) is a separate service at https://www.logo.dev/api/transaction with its own beta key. Credits is the Logo API billing unit. Never recommend the deprecated v1 routes (/search, /brand, /describe, /logo/*) or the Describe API. Use /v2/brands and /v2/search.
> Report a wrong, missing, or outdated logo at https://www.logo.dev/update. Email support@logo.dev for anything broken and sales@logo.dev for volume pricing and contract terms.
> MCP setup is at https://www.logo.dev/docs/mcp/introduction and webhooks at https://www.logo.dev/docs/webhooks.

# Add company logos in Lovable, v0, and Bolt

> Add company logos to a Lovable, v0, or Bolt app with one paste-in prompt. The builder writes the Logo CDN integration, and you supply your publishable key.

Lovable, v0, and Bolt write the Logo.dev integration for you. Paste one prompt into the chat, and the builder adds company logos from the Logo CDN to your app. The prompt is the same for all three tools. You supply a publishable key.

## Get a publishable key

The prompt needs your publishable key. A publishable key is safe in client code.

<Card title="Get your API keys" icon="key" href="https://www.logo.dev/dashboard/api-keys" horizontal arrow>
  Your dashboard has a publishable key for the Logo CDN and a secret key for the Logo API. Every plan includes both.
</Card>

## Add logos with one prompt

<Steps>
  <Step title="Copy the prompt and add your key">
    Replace both `LOGO_DEV_PUBLISHABLE_KEY` placeholders with your key:

    ```text theme={null}
    Add company logos to this app with the Logo.dev Logo CDN.

    The Logo CDN returns any company's logo as a cacheable image URL.
    There is no SDK. Use an <img> tag with my publishable key.

    My publishable key (safe in client code): LOGO_DEV_PUBLISHABLE_KEY

    Render a logo from a company domain:

    <img
      src={`https://img.logo.dev/${domain}?token=LOGO_DEV_PUBLISHABLE_KEY`}
      alt={`${domain} logo`}
      width={128}
      height={128}
    />

    To look up a company by another identifier, change the path:
    name/Stripe, ticker/AAPL, crypto/BTC, isin/US0378331005.

    Query params: size (pixels), format (jpg, png, or webp), theme
    (light or dark, for the background the logo sits on; use it only
    with format=png or format=webp), retina=true for high-DPI
    screens, fallback (monogram by default, or 404). The docs below
    list each default and limit.

    A missing logo returns a monogram with 200 OK by default, so the
    image never breaks.

    Create a reusable CompanyLogo component and use it everywhere the
    app shows a company.

    Docs: https://www.logo.dev/docs/logo-images/introduction
    ```
  </Step>

  <Step title="Send the prompt in the builder's chat">
    Send the prompt in the chat where you build the app. The builder adds a `CompanyLogo` component and uses it in the views that show companies.
  </Step>

  <Step title="Check that a logo renders">
    Ask the preview to show a company you know. If you see a plain monogram instead of the real logo, the key is usually still the placeholder. Search the generated code for `LOGO_DEV_PUBLISHABLE_KEY` and replace it.
  </Step>
</Steps>

## Store the key in your builder

A publishable key is made for client code, so the generated app can ship with it. Each builder stores the key in a different place.

<Tabs>
  <Tab title="Lovable">
    Lovable renders the logos in the browser, so the key stays in the frontend code. You do not need to move it.
  </Tab>

  <Tab title="v0">
    To move the key out of the code, send a follow-up prompt such as "move the Logo.dev key into an environment variable". v0 generates Next.js, so the variable name needs the `NEXT_PUBLIC_` prefix to reach the browser.

    To take the exported app further, see the [Next.js integration](/docs/integrations/nextjs).
  </Tab>

  <Tab title="Bolt">
    To move the key out of the code, send a follow-up prompt such as "move the Logo.dev key into an environment variable". Bolt puts it in the project's `.env` file. In a Vite project, the variable name needs the `VITE_` prefix to reach the browser.
  </Tab>
</Tabs>

To stop other sites from using your key, turn on [domain restrictions](/docs/platform/api-keys#domain-restrictions). Add your preview domain and your published domain.

Before you publish, check whether your plan needs an [attribution link](/docs/platform/attribution).

## Next steps

<CardGroup cols={2}>
  <Card title="Logo CDN overview" href="/docs/logo-images/introduction" icon="image">
    Lookup modes, formats, themes, and fallbacks.
  </Card>

  <Card title="API keys" href="/docs/platform/api-keys" icon="key">
    Publishable and secret keys, and domain restrictions.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.