Logo.dev Logo CDN API

Logo images served from img.logo.dev. Authenticate with a publishable key in the `token` query parameter. Metered in CDN requests.

Operations 7

GET /name/{brand} Get a logo by brand name #
GET /ticker/{ticker} Get a logo by stock ticker #
GET /isin/{isin} Get a logo by ISIN #
GET /crypto/{symbol} Get a cryptocurrency logo by symbol #
GET /exchange/{exchange} Get a logo by stock exchange #
GET /index/{symbol} Get a logo by market index #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/logo-dev:logo-dev-logo-cdn-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

logo-dev-logo-cdn-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Logo.dev Logo CDN API
  description: 'Logo.dev serves brand assets from two hosts, each with its own key:


    - **Logo.dev CDN** (`img.logo.dev`) returns a logo image. Authenticate with a **publishable key** in the `token` query parameter. It is safe in client-side code.

    - **Logo.dev API** (`api.logo.dev`) returns JSON. Authenticate with a **secret key** in the `Authorization: Bearer` header. Call it only from your server.


    Get your keys from the dashboard.'
  version: 2.0.0
  contact:
    name: Logo.dev Support
    email: support@logo.dev
    url: https://docs.logo.dev
servers:
- url: https://api.logo.dev
  description: REST APIs (Brand Search, Brand Data)
tags:
- name: Logo CDN
  description: Logo images served from img.logo.dev. Authenticate with a publishable key in the `token` query parameter. Metered in CDN requests.
paths:
  /{domain}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo
      description: Get a logo image by domain, brand name, stock ticker, ISIN, crypto symbol, stock exchange, or market index.
      operationId: getLogo
      security:
      - publishableKey: []
      parameters:
      - name: domain
        in: path
        required: true
        description: The company's domain, such as `stripe.com`. For another lookup, replace `/{domain}` with a path from the table.
        schema:
          type: string
          examples:
          - stripe.com
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
      x-mint:
        metadata:
          description: Get a logo image by domain, brand name, stock ticker, ISIN, crypto symbol, stock exchange, or market index.
        content: "<Card title=\"Get your API keys\" icon=\"key\" href=\"https://www.logo.dev/dashboard/api-keys\" horizontal arrow>\n  Your dashboard has a publishable key for the Logo.dev CDN and a secret key for the Logo.dev API. Every plan includes both.\n</Card>\n\nReturns a logo image. Put the identifier in the path. The query parameters work the same for every lookup.\n\n| Lookup | Path |\n| --- | --- |\n| Domain | `/stripe.com` |\n| Brand name | `/name/Stripe` |\n| Stock ticker | `/ticker/AAPL` |\n| ISIN | `/isin/US0378331005` |\n| Crypto symbol | `/crypto/BTC` |\n| Stock exchange | `/exchange/NYSE` |\n| Market index | `/index/SPX` |\n\n- For a ticker outside the US, add the exchange suffix, such as `7203.T`.\n- URL-encode a name that has spaces or special characters. `/name` also takes `strategy`: `match` (the default) for the closest name, or `suggest` for the most popular prefix match.\n- A lookup with no logo returns a generated monogram, unless you set `fallback=404`. A malformed ticker, crypto symbol, exchange, or index returns `400`."
      x-codeSamples:
      - lang: html
        label: By domain
        source: <img src="https://img.logo.dev/stripe.com?token=LOGO_DEV_PUBLISHABLE_KEY" alt="Stripe logo" />
      - lang: html
        label: By name
        source: <img src="https://img.logo.dev/name/Stripe?token=LOGO_DEV_PUBLISHABLE_KEY" alt="Stripe logo" />
      - lang: html
        label: By ticker
        source: <img src="https://img.logo.dev/ticker/AAPL?token=LOGO_DEV_PUBLISHABLE_KEY" alt="Apple logo" />
      - lang: html
        label: By ISIN
        source: <img src="https://img.logo.dev/isin/US0378331005?token=LOGO_DEV_PUBLISHABLE_KEY" alt="Apple logo" />
      - lang: html
        label: By crypto
        source: <img src="https://img.logo.dev/crypto/BTC?token=LOGO_DEV_PUBLISHABLE_KEY" alt="Bitcoin logo" />
      - lang: html
        label: By exchange
        source: <img src="https://img.logo.dev/exchange/NYSE?token=LOGO_DEV_PUBLISHABLE_KEY" alt="New York Stock Exchange logo" />
      - lang: html
        label: By index
        source: <img src="https://img.logo.dev/index/SPX?token=LOGO_DEV_PUBLISHABLE_KEY" alt="S&amp;P 500 logo" />
      - lang: jsx
        label: By domain
        source: "<img\n  src={`https://img.logo.dev/stripe.com?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"Stripe logo\"\n/>"
      - lang: jsx
        label: By name
        source: "<img\n  src={`https://img.logo.dev/name/Stripe?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"Stripe logo\"\n/>"
      - lang: jsx
        label: By ticker
        source: "<img\n  src={`https://img.logo.dev/ticker/AAPL?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"Apple logo\"\n/>"
      - lang: jsx
        label: By ISIN
        source: "<img\n  src={`https://img.logo.dev/isin/US0378331005?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"Apple logo\"\n/>"
      - lang: jsx
        label: By crypto
        source: "<img\n  src={`https://img.logo.dev/crypto/BTC?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"Bitcoin logo\"\n/>"
      - lang: jsx
        label: By exchange
        source: "<img\n  src={`https://img.logo.dev/exchange/NYSE?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"New York Stock Exchange logo\"\n/>"
      - lang: jsx
        label: By index
        source: "<img\n  src={`https://img.logo.dev/index/SPX?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`}\n  alt=\"S&amp;P 500 logo\"\n/>"
      - lang: bash
        label: By domain
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/stripe.com?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By name
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/name/Stripe?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By ticker
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/ticker/AAPL?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By ISIN
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/isin/US0378331005?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By crypto
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/crypto/BTC?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By exchange
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/exchange/NYSE?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
      - lang: bash
        label: By index
        source: "# Prints the status code and image type. The logo itself is not saved.\ncurl --silent --output /dev/null \\\n  --write-out \"%{http_code} %{content_type}\\n\" \\\n  \"https://img.logo.dev/index/SPX?token=LOGO_DEV_PUBLISHABLE_KEY&size=128&format=png\""
  /name/{brand}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo by brand name
      description: Returns the best-match logo for a brand name. URL-encode names with spaces or special characters. This is a convenience wrapper over Search that returns the top result's logo. See Get a logo for every lookup.
      operationId: getLogoByName
      security:
      - publishableKey: []
      parameters:
      - name: brand
        in: path
        required: true
        description: URL-encoded brand name.
        schema:
          type: string
          examples:
          - shopify
      - name: strategy
        in: query
        required: false
        description: '`match` returns the closest name. `suggest` returns the most popular prefix match.'
        schema:
          type: string
          enum:
          - match
          - suggest
          default: match
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
  /ticker/{ticker}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo by stock ticker
      description: Returns a company's logo for a stock ticker symbol. Defaults to US exchanges; append an exchange suffix for others (e.g. `AAPL.L`, `7203.T`). See Get a logo for every lookup.
      operationId: getLogoByTicker
      security:
      - publishableKey: []
      parameters:
      - name: ticker
        in: path
        required: true
        description: Stock ticker symbol, optionally with an exchange suffix.
        schema:
          type: string
          examples:
          - AAPL
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
  /isin/{isin}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo by ISIN
      description: Returns a company's logo for an ISIN (International Securities Identification Number). See Get a logo for every lookup.
      operationId: getLogoByIsin
      security:
      - publishableKey: []
      parameters:
      - name: isin
        in: path
        required: true
        description: ISIN code.
        schema:
          type: string
          examples:
          - US0378331005
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
  /crypto/{symbol}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a cryptocurrency logo by symbol
      description: Returns a cryptocurrency logo for a coin symbol such as `btc` or `eth`. See Get a logo for every lookup.
      operationId: getLogoByCrypto
      security:
      - publishableKey: []
      parameters:
      - name: symbol
        in: path
        required: true
        description: Cryptocurrency symbol.
        schema:
          type: string
          examples:
          - btc
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
  /exchange/{exchange}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo by stock exchange
      description: Returns the logo for a stock exchange by its code, e.g. `NYSE`, `NASDAQ`, or `LSE`. See Get a logo for every lookup.
      operationId: getLogoByExchange
      security:
      - publishableKey: []
      parameters:
      - name: exchange
        in: path
        required: true
        description: Stock exchange code.
        schema:
          type: string
          examples:
          - NYSE
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
  /index/{symbol}:
    servers:
    - url: https://img.logo.dev
    get:
      tags:
      - Logo CDN
      summary: Get a logo by market index
      description: Returns the logo for a market index by its symbol, e.g. `SPX`, `DJI`, or `IXIC`. See Get a logo for every lookup.
      operationId: getLogoByIndex
      security:
      - publishableKey: []
      parameters:
      - name: symbol
        in: path
        required: true
        description: Market index symbol.
        schema:
          type: string
          examples:
          - SPX
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/height'
      - $ref: '#/components/parameters/width'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/theme'
      - $ref: '#/components/parameters/greyscale'
      - $ref: '#/components/parameters/retina'
      - $ref: '#/components/parameters/fallback'
      - $ref: '#/components/parameters/redirect'
      responses:
        '200':
          $ref: '#/components/responses/LogoImage'
        '202':
          $ref: '#/components/responses/CdnPending'
        '400':
          $ref: '#/components/responses/CdnBadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/CdnForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/CdnServerError'
components:
  responses:
    NotFound:
      description: No logo, with `fallback=404` set, or a domain that resolves only through a redirect, with `redirect=404` set. Also an invalid parameter value, such as `format=gif`, on every lookup except `/isin` and `/name`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            err: not found
            docs_url: https://www.logo.dev/docs/platform/errors
    CdnPending:
      description: The first request for a domain that Logo.dev is still fetching. The body is an image, cached for 5 minutes. Later requests return the logo.
      content:
        image/jpeg:
          schema:
            type: string
            format: binary
        image/png:
          schema:
            type: string
            format: binary
        image/webp:
          schema:
            type: string
            format: binary
        image/svg+xml:
          schema:
            type: string
            format: binary
    RateLimited:
      description: 'A Community plan limit was exceeded: the monthly CDN request limit, or a per-minute limit for the account or the client IP address. The per-minute limits send `Retry-After`. Paid plans have none of these limits. See [Logo.dev CDN limits](/platform/rate-limits#logo-cdn-limits).'
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfterMinute'
        Cache-Control:
          description: Always `no-store`, so the rejection is never served again from a cache once the account recovers.
          schema:
            type: string
            examples:
            - no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            per_ip:
              value:
                msg: rate limit exceeded. free accounts are limited to 100 requests per minute per IP address. upgrade your account at https://www.logo.dev/pricing
            per_account:
              value:
                msg: rate limit exceeded. free accounts are limited to 500 requests per minute. upgrade your account at https://www.logo.dev/pricing
            monthly:
              value:
                msg: monthly request limit exceeded. upgrade your account at https://www.logo.dev/pricing
    Unauthorized:
      description: A missing or invalid publishable key, or a request from a domain the key does not allow.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            msg: invalid api token. get an api token by creating an account at https://www.logo.dev/
            docs_url: https://www.logo.dev/docs/platform/api-keys
    CdnBadRequest:
      description: A malformed ticker, crypto symbol, exchange, or index, or an invalid parameter on `/isin` or `/name`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            err: invalid ticker=ZZZZZZ
            docs_url: https://www.logo.dev/docs/platform/errors
    CdnServerError:
      description: Logo.dev could not fetch the logo. Retry.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            err: failed to fetch
            docs_url: https://www.logo.dev/docs/platform/errors
    CdnForbidden:
      description: The account is suspended or flagged, or the team has turned off personal keys.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    LogoImage:
      description: The logo image. When no logo exists and `fallback` is `monogram` (the default), a generated monogram is returned with this same 200 status.
      content:
        image/jpeg:
          schema:
            type: string
            format: binary
        image/png:
          schema:
            type: string
            format: binary
        image/webp:
          schema:
            type: string
            format: binary
        image/svg+xml:
          schema:
            type: string
            format: binary
  parameters:
    fallback:
      name: fallback
      in: query
      required: false
      description: Behavior when no logo is found. `monogram` returns a generated monogram with HTTP 200; `404` returns HTTP 404 instead.
      schema:
        type: string
        enum:
        - monogram
        - '404'
        default: monogram
    size:
      name: size
      in: query
      required: false
      description: 'Width and height in pixels. Aspect ratio is preserved. Max 800: a larger value is clipped to 800. `retina=true` doubles the result after the clip. Keep raster formats at or below 600.'
      schema:
        type: integer
        default: 128
        minimum: 1
    height:
      name: height
      in: query
      required: false
      description: 'Height in pixels (short form: `h`). Overrides the height taken from `size` when set; the image is fit within width × height with aspect ratio preserved. Max 800 (larger is clipped).'
      schema:
        type: integer
        minimum: 1
        maximum: 800
    greyscale:
      name: greyscale
      in: query
      required: false
      description: Return a black-and-white version of the logo. The American spelling `grayscale` is also accepted.
      schema:
        type: boolean
        default: false
    width:
      name: width
      in: query
      required: false
      description: 'Width in pixels (short form: `w`). Overrides the width taken from `size` when set; the image is fit within width × height with aspect ratio preserved. Max 800 (larger is clipped).'
      schema:
        type: integer
        minimum: 1
        maximum: 800
    format:
      name: format
      in: query
      required: false
      description: Image format.
      schema:
        type: string
        enum:
        - jpg
        - png
        - webp
        default: jpg
    theme:
      name: theme
      in: query
      required: false
      description: 'Adjusts logo colors for a light or a dark background. `auto` is the same as `light`. Works on logos with transparency, so set `format=png` or `format=webp` with it. Do not send `theme=dark` with `jpg`, the default format: the request can return `404`.'
      schema:
        type: string
        enum:
        - auto
        - light
        - dark
        default: light
    redirect:
      name: redirect
      in: query
      required: false
      description: What to return when the domain reaches a brand only through a redirect to another domain, such as an old domain that now points to a new company. `follow` returns the logo of the domain it redirects to. `404` returns `404` instead, whatever `fallback` is set to. See [skip domains that redirect](/logo-images/introduction#skip-domains-that-redirect).
      schema:
        type: string
        enum:
        - follow
        - '404'
        default: follow
    retina:
      name: retina
      in: query
      required: false
      description: Render at 2x the requested size for high-density displays.
      schema:
        type: boolean
        default: false
  headers:
    RetryAfterMinute:
      description: Seconds to wait before retrying. Always `60`, the length of the per-minute window.
      schema:
        type: integer
        examples:
        - 60
  schemas:
    Error:
      type: object
      description: A short error. Some errors use `msg` and others use `err`. Branch on the status code, not on the field or its text.
      properties:
        msg:
          type: string
        err:
          type: string
        docs_url:
          type: string
          format: uri
          description: A docs page about this class of error. Added to every JSON error response.
  securitySchemes:
    publishableKey:
      type: apiKey
      in: query
      name: token
      description: Your publishable key (`pk_`). Safe in client-side code. Works only with the Logo.dev CDN.
    secretKey:
      type: http
      scheme: bearer
      description: Your secret key (`sk_`), as `Bearer sk_...`. Call the Logo.dev API only from your server.
    transactionBetaKey:
      type: http
      scheme: bearer
      bearerFormat: tx_beta_…
      description: Transaction-only beta key, issued with your beta access and always visible in the Transaction Playground. Existing Logo.dev secret keys do not authenticate this beta.