---
title: "Get Agent Breakdown"
method: GET
path: "/api/domains/{domain_id}/content/agents"
tags: ["content_attribution"]
---

# Get Agent Breakdown

`GET /api/domains/{domain_id}/content/agents`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/api/domains/{domain_id}/content/agents`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Windowed bot-visit totals grouped by identified agent.

Backs the hub Traffic page's "By agent" module. Same scoping as every
other impressions read here: owned content only, general crawlers
excluded (``_ai_visit_filters``), and unattached visits (no
``content_item_id``) invisible via the inner join.

``SUM(visit_count)``, never COUNT(*) — Cloudflare ingestion rows are
hour-buckets carrying counts > 1. NULL ``identified_llm`` folds into
``"unidentified"`` so the shares always total 1.0. Rolling window
(now - days), not completed-days: this is a composition readout, not a
chart, so the partial-day bias the series endpoints avoid doesn't
apply.

## Path parameters

- `domain_id` string, required

## Query parameters

- `days` integer
- `source` 'company_docs' | 'website', nullable

## Headers

- `x-view-as` string, nullable

## Response `200`

Successful Response

- AgentBreakdownOut
  - `agents` AgentBreakdownRow[], required
    - `agent` string, required
    - `visits` integer, required
    - `share` number, required
  - `windowDays` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
