> ## 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.

# Search brands by name

> Resolves a brand name to candidate domains. Returns up to 10 results sorted by popularity. Requires a secret key.



## OpenAPI

````yaml /openapi.json get /search
openapi: 3.1.0
info:
  title: Logo.dev API
  description: >-
    Logo.dev provides company and brand assets over HTTP. There are two surfaces
    with two different keys:


    - **Logo API** (`img.logo.dev`) returns a logo image directly. Authenticate
    with a **publishable key** via the `token` query parameter — safe for
    client-side use.

    - **REST APIs** (`api.logo.dev`) return JSON. Authenticate with a **secret
    key** via the `Authorization: Bearer` header — server-side only.


    Get your keys from the [dashboard](https://www.logo.dev/dashboard/api-keys).
  version: 1.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)
security: []
tags:
  - name: Logo API
    description: >-
      Logo images by domain, ticker, crypto symbol, ISIN, or brand name. Served
      from img.logo.dev with a publishable key.
  - name: REST API
    description: JSON endpoints served from api.logo.dev with a secret key.
paths:
  /search:
    get:
      tags:
        - REST API
      summary: Search brands by name
      description: >-
        Resolves a brand name to candidate domains. Returns up to 10 results
        sorted by popularity. Requires a secret key.
      operationId: searchBrands
      parameters:
        - name: q
          in: query
          required: true
          description: Brand name query.
          schema:
            type: string
            examples:
              - sweetgreen
        - name: strategy
          in: query
          required: false
          description: >-
            Matching strategy. `suggest` favors popular prefix matches (best for
            autocomplete); `match` favors exact/near-exact name matches.
          schema:
            type: string
            enum:
              - suggest
              - match
            default: suggest
        - name: is_profane
          in: query
          required: false
          description: Filter by whether the brand is flagged as potentially inappropriate.
          schema:
            type: boolean
      responses:
        '200':
          description: Matching brands.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchResult'
              examples:
                sweetgreen:
                  value:
                    - name: Sweetgreen
                      domain: sweetgreen.com
                      logo_url: >-
                        https://img.logo.dev/sweetgreen.com?token=LOGO_DEV_PUBLISHABLE_KEY
                    - name: Sweet Greens Healthy Restaurant
                      domain: sweetgreens.ae
                      logo_url: >-
                        https://img.logo.dev/sweetgreens.ae?token=LOGO_DEV_PUBLISHABLE_KEY
        '400':
          description: >-
            Invalid request — e.g. a blank `q`, an unknown `strategy`, or a
            non-boolean `is_profane`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestError'
              examples:
                blankQuery:
                  value:
                    err: blank query
                badStrategy:
                  value:
                    err: >-
                      invalid strategy: must be 'suggest' or 'match', got
                      'typeahead'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - secretKey: []
components:
  schemas:
    SearchResult:
      type: object
      description: A brand search match.
      properties:
        name:
          type: string
          description: Brand name.
        domain:
          type: string
          description: Brand domain.
        logo_url:
          type: string
          format: uri
          description: Logo API URL for the brand's logo.
      required:
        - name
        - domain
        - logo_url
    RequestError:
      type: object
      description: >-
        Error shape returned by the Brand Search and Brand Data endpoints — note
        the `err` key, distinct from the Logo API's `msg`.
      properties:
        err:
          type: string
          description: Human-readable error message.
      required:
        - err
    Error:
      type: object
      properties:
        msg:
          type: string
          description: Human-readable error message.
      required:
        - msg
  responses:
    Unauthorized:
      description: Missing or invalid API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            invalid:
              value:
                msg: invalid api token
            missing:
              value:
                msg: missing api token
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Secret key (`sk_...`). Server-side only. Used for the REST APIs.

````