---
title: "Get Scores"
method: GET
path: "/get-scores"
tags: ["public-api"]
---

# Get Scores

`GET /get-scores`

## Request

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

Get visibility scores and historical trends for a brand.

Views:
- summary (default): Current visibility, presence, rank, and historical trends
- time_series: Daily visibility, presence, rank, mentions over time
- by_model: Visibility breakdown by AI model
- by_prompt: Visibility breakdown by tracked prompt

## Query parameters

- `brand_id` string, uuid, nullable: Brand UUID
- `brand` string, uuid, nullable: Alias for brand_id
- `days` integer: Historical period in days
- `view` string, nullable: View mode: summary (default), time_series, by_model, by_prompt
- `tag_ids` string, nullable: Comma-separated tag UUIDs to filter prompts
- `prompt_id` string, uuid, nullable: Single prompt UUID to filter scores
- `period` string, nullable: A frozen calendar period instead of a rolling window: a month as YYYY-MM (2026-08) or a quarter as YYYY-Qn (2026-Q3). A closed month is read from the archive frozen when it closed; the open month is computed to date. When period is given, days is ignored and the response carries a `period` block saying exactly what was resolved. Definitions: /get-metrics.

## Response `200`

Successful Response

- union
  - ScoresResponse: GET /get-scores response.
    - `period` PeriodMeta: What a period-scoped response actually resolved.
      - `key` string, required
      - `kind` string, required
      - `label` string, required
      - `start` string, required
      - `end` string, required
      - `status` string, required
      - `source` string, required
      - `frozen_at` string, nullable
      - `pipeline_version` string, nullable
      - `restated_at` string, nullable
      - `restatements` object[]
      - `coverage` object
      - `fields_computed` string[]
      - `fields_missing` string[]
      - `notes` string[]
      - `months` object, nullable
      - `rank_source` string, nullable
    - `brand` object, required
    - `latest_scores` LatestScores, required: Latest visibility metrics.
      - `visibility` number, required
      - `presence` number, required
      - `average_rank` number, nullable
      - `mentions` integer
      - `models_mentioned` integer
      - `model_scores` object
      - `date` string, required
    - `trend` TrendInfo, required: Trend information.
      - `visibility_change` number, nullable
      - `presence_change` number, nullable
      - `period_days` integer, required
      - `reports_count` integer
    - `historical` HistoricalPoint[], required
      - `date` string, required
      - `visibility` number, required
      - `presence` number, required
      - `average_rank` number, nullable
      - `mentions` integer
    - `filters_applied` object, nullable
  - VisibilityTimeSeriesResponse: GET /get-scores?view=time_series
    - `period` PeriodMeta: What a period-scoped response actually resolved.
      - `key` string, required
      - `kind` string, required
      - `label` string, required
      - `start` string, required
      - `end` string, required
      - `status` string, required
      - `source` string, required
      - `frozen_at` string, nullable
      - `pipeline_version` string, nullable
      - `restated_at` string, nullable
      - `restatements` object[]
      - `coverage` object
      - `fields_computed` string[]
      - `fields_missing` string[]
      - `notes` string[]
      - `months` object, nullable
      - `rank_source` string, nullable
    - `brand` object, required
    - `time_series` VisibilityTimeSeriesPoint[], required
      - `date` string, required
      - `visibility` number, required
      - `presence` number, required
      - `average_rank` number, nullable
      - `mentions` integer
      - `models_mentioned` integer
    - `period_days` integer, required
  - VisibilityByModelResponse: GET /get-scores?view=by_model
    - `period` PeriodMeta: What a period-scoped response actually resolved.
      - `key` string, required
      - `kind` string, required
      - `label` string, required
      - `start` string, required
      - `end` string, required
      - `status` string, required
      - `source` string, required
      - `frozen_at` string, nullable
      - `pipeline_version` string, nullable
      - `restated_at` string, nullable
      - `restatements` object[]
      - `coverage` object
      - `fields_computed` string[]
      - `fields_missing` string[]
      - `notes` string[]
      - `months` object, nullable
      - `rank_source` string, nullable
    - `brand` object, required
    - `models` VisibilityByModelItem[], required
      - `model` string, required
      - `visibility` number, required
      - `presence` number, required
      - `trend` number, nullable
    - `period_days` integer, required
  - VisibilityByPromptResponse: GET /get-scores?view=by_prompt
    - `period` PeriodMeta: What a period-scoped response actually resolved.
      - `key` string, required
      - `kind` string, required
      - `label` string, required
      - `start` string, required
      - `end` string, required
      - `status` string, required
      - `source` string, required
      - `frozen_at` string, nullable
      - `pipeline_version` string, nullable
      - `restated_at` string, nullable
      - `restatements` object[]
      - `coverage` object
      - `fields_computed` string[]
      - `fields_missing` string[]
      - `notes` string[]
      - `months` object, nullable
      - `rank_source` string, nullable
    - `brand` object, required
    - `prompts` VisibilityByPromptItem[], required
      - `prompt_id` string, required
      - `prompt_text` string, required
      - `visibility` number, required
      - `presence` number, required
      - `average_rank` number, nullable
    - `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)
