> ## Documentation Index
> Fetch the complete documentation index at: https://docs.taap.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Breakdowns

> Retrieve top pages, sources, locations and devices

Returns the top breakdowns (pages, sources, locations and devices) for the project bound to your
API key over the requested date range.

**Request:**

```bash cURL theme={null}
curl -X GET 'https://taap.it/api/v1/radar/breakdowns?start=2026-01-01T00:00:00Z&end=2026-01-31T23:59:59Z&limit=20' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
```

**Response:**

```json theme={null}
{
  "data": {
    "pages": {
      "top": [
        { "pathname": "/", "people": 320 },
        { "pathname": "/pricing", "people": 110 }
      ]
    },
    "sources": {
      "referrer": [
        { "name": "Direct", "people": 210 },
        { "name": "Google", "people": 180 }
      ]
    },
    "locations": {
      "countries": [
        { "name": "France", "people": 240, "countryCode": "FR", "revenue": 980.0 },
        { "name": "Belgium", "people": 90, "countryCode": "BE", "revenue": 120.0 }
      ]
    },
    "devices": {
      "browsers": [
        { "name": "Chrome", "people": 410 },
        { "name": "Safari", "people": 220 }
      ],
      "os": [
        { "name": "Windows", "people": 300 },
        { "name": "iOS", "people": 180 }
      ]
    },
    "events": [
      { "event_name": "signup_click", "people": 40, "events": 52, "completion_rate": 0 }
    ],
    "hostnames": ["www.example.com"]
  }
}
```

## Authorization

<ParamField header="Authorization" type="string" required>
  Bearer token with your Radar API key. Format: `Bearer taapit_...`
</ParamField>

## Query Parameters

<ParamField query="start" type="string" required>
  Start of the range, ISO 8601 (UTC). Example: `2026-01-01T00:00:00Z`.
</ParamField>

<ParamField query="end" type="string" required>
  End of the range, ISO 8601 (UTC). Example: `2026-01-31T23:59:59Z`.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Maximum number of rows per breakdown. Must be a positive number. Defaults to `50`.
</ParamField>

## Response Fields

<ResponseField name="data" type="object" required>
  Each section is optional and omitted when there is no data.

  <Expandable title="Breakdowns" defaultOpen>
    <ResponseField name="pages.top" type="array">
      Top pages, each with `pathname` and `people`.
    </ResponseField>

    <ResponseField name="sources.referrer" type="array">
      Top referrers, each with `name` and `people`.
    </ResponseField>

    <ResponseField name="locations.countries" type="array">
      Top countries, each with `name`, `people`, `countryCode` and `revenue`.
    </ResponseField>

    <ResponseField name="devices.browsers" type="array">
      Top browsers, each with `name` and `people`.
    </ResponseField>

    <ResponseField name="devices.os" type="array">
      Top operating systems, each with `name` and `people`.
    </ResponseField>

    <ResponseField name="events" type="array">
      Top custom events, each with `event_name`, `people` and `events`.
    </ResponseField>

    <ResponseField name="hostnames" type="array">
      Hostnames seen for the project in the range.
    </ResponseField>
  </Expandable>
</ResponseField>
