---
title: "List Component Brands"
method: GET
path: "/v1/components/brands"
tags: ["v1", "components"]
---

# List Component Brands

`GET /v1/components/brands`

## Request

- Base URL: `https://thrustlab.com`
- URL: `https://thrustlab.com/v1/components/brands`
- Auth: HTTP bearer

Public-catalog brand counts for a given component type, filter-aware.

Applies spec-range and non-brand discrete filters from the query string
(same bracket syntax as /v1/components LIST), plus optional ?search=name
matching. The ``brand[in]`` filter is intentionally ignored on this
endpoint so selecting brands does not shrink the brand list to itself.

Brandless rows (NULL or empty ``spec_json.brand``) are excluded per
feedback_brandless_custom_components.md. has_more is always false because
the brand list is bounded.

Readable WITHOUT a credential: an anonymous caller counts the curated public
catalog only, metered per client IP.

## Query parameters

- `type` string, required
- `search` string, nullable

## Response `200`

Successful Response

- ComponentBrandsResponse
  - `data` ComponentBrand[], required
    - `count` integer, required
    - `name` string, required
    - `object` string
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required
  - `object` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thrustlab/apis/thrustlab-api.md) · [All operations](https://skmtc.dev/thrustlab/apis/thrustlab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrustlab/apis/thrustlab-api/revisions/c19717e52529?raw)
