---
title: "List brands"
method: GET
path: "/api/brands/registry"
tags: ["Brand Resolution"]
---

# List brands

`GET /api/brands/registry`

List all brands in the registry with optional search, pagination, and source filter.

## Query parameters

- `search` string
- `limit` integer
- `offset` integer
- `source` 'hosted' | 'brand_json' | 'enriched' | 'community' — Filter by source. Values match the per-brand source field in the response: hosted = registered by domain owner via /api/brands; brand_json = crawler-discovered with a live /.well-known/brand.json; enriched = Brandfetch-sourced; community = manually contributed.

## Response `200`

Brand list with stats

- object
  - `brands` BrandRegistryItem[], required
    - `domain` string, required
    - `brand_name` string
    - `source` 'hosted' | 'brand_json' | 'community' | 'enriched', required
    - `has_manifest` boolean, required
    - `verified` boolean, required
    - `house_domain` string
    - `keller_type` 'master' | 'sub_brand' | 'endorsed' | 'independent'
  - `stats` object, required
    - `total` integer, required
    - `hosted` integer, required
    - `brand_json` integer, required
    - `community` integer, required
    - `enriched` integer, required
    - `houses` integer, required
    - `sub_brands` integer, required
    - `with_manifest` integer, required

## Other responses

- `400` — Invalid source filter value

---

[API](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api.md) · [All operations](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adcontextprotocol/agenticadvertising-org-registry-api/versions/9ea7fedf54c0/schema)
