---
title: "Compare Brands Public"
method: POST
path: "/agency/compare-brands"
tags: ["public-api"]
---

# Compare Brands Public

`POST /agency/compare-brands`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/agency/compare-brands`
- Auth: HTTP bearer

Side-by-side metrics for 2-10 brands the caller has access to.

Returns for each brand: latest visibility and its change over the window,
total citations in the window, and open and quick-win action counts.
Useful for agency "compare clients" or "you vs them" workflows.

Each metric keeps its single-brand paid gate: visibility needs brand access
only, citations an active paid plan, and actions a paid entitlement. A
metric the brand's plan does not cover is null and named in that row's
`withheld` list.

## Request body

- CompareBrandsRequest: POST /agency/compare-brands body.
  - `brand_ids` string[], required
  - `days` integer
  - `metrics` string[], nullable

## Response `200`

Successful Response

- CompareBrandsPublicResponse
  - `brands` object[], required
  - `period_days` integer, required
  - `metrics` string[], required

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

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