---
title: "Get Reports Public"
method: GET
path: "/get-reports"
tags: ["public-api"]
---

# Get Reports Public

`GET /get-reports`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/get-reports`
- Auth: HTTP bearer

List reports or get a single report detail.

Views:
- list (default): Paginated report list or single report detail
- results: Per-prompt and per-model breakdown for a specific report (requires report_id)
- sentiment: Sentiment distribution and trends
- mentions_time_series: Mention counts over time

## Query parameters

- `brand_id` string, uuid, nullable: Brand UUID (required for listing)
- `report_id` string, nullable: Report UUID (for single report detail)
- `report_type` string, nullable: Filter by report type
- `status` string, nullable: Filter by status
- `view` string, nullable: View mode: list (default), results, sentiment, mentions_time_series
- `days` integer: Historical period (for sentiment and mentions views)
- `limit` integer: Results per page
- `offset` integer: Pagination offset

## Response `200`

Successful Response

- union
  - ReportsListPublicResponse: GET /reports response (list mode).
    - `reports` ReportPublicItem[], required
      - `id` string, required
      - `brand_id` string, required
      - `report_type` string, required
      - `report_name` string, nullable
      - `time_range` string
      - `status` string
      - `file_url` string, nullable
      - `file_size_bytes` integer, nullable
      - `page_count` integer, nullable
      - `error_message` string, nullable
      - `created_at` string, required
      - `expires_at` string, nullable
    - `pagination` PaginationInfo, required: Pagination metadata.
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
      - `has_more` boolean, required
  - ReportSinglePublicResponse: GET /reports response (single report mode).
    - `report` ReportDetailPublic, required: Single report with full data snapshot.
      - `id` string, required
      - `brand_id` string, required
      - `report_type` string, required
      - `report_name` string, nullable
      - `time_range` string
      - `status` string
      - `file_url` string, nullable
      - `file_size_bytes` integer, nullable
      - `page_count` integer, nullable
      - `error_message` string, nullable
      - `created_at` string, required
      - `expires_at` string, nullable
      - `report_data` object, nullable
  - ReportResultsResponse: GET /get-reports?view=results
    - `report_id` string, required
    - `brand_id` string, required
    - `date` string, required
    - `visibility` number, required
    - `presence` number, required
    - `average_rank` number, nullable
    - `model_scores` ReportModelScore[], required
      - `model` string, required
      - `visibility` number, required
      - `presence` number, required
      - `mentions` integer
    - `prompt_scores` ReportPromptScore[], required
      - `prompt_text` string, required
      - `visibility` number, required
      - `presence` number, required
      - `average_rank` number, nullable
  - ReportSentimentResponse: GET /get-reports?view=sentiment
    - `brand` object, required
    - `distribution` SentimentDistribution, required
      - `positive` integer
      - `neutral` integer
      - `negative` integer
      - `mixed` integer
    - `trend` SentimentTrendPoint[], required
      - `date` string, required
      - `avg_sentiment` number, nullable
    - `period_days` integer, required
  - ReportMentionsResponse: GET /get-reports?view=mentions_time_series
    - `brand` object, required
    - `time_series` MentionsTimeSeriesPoint[], required
      - `date` string, required
      - `mentions` integer, required
      - `models_mentioned` integer
    - `period_days` integer, 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)
