---
title: "Get Citations"
method: GET
path: "/get-citations"
tags: ["public-api"]
---

# Get Citations

`GET /get-citations`

## Request

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

Get citation data for your brand. Use the `view` parameter to select different data views.

Views:
- list (default): Paginated citation URLs
- history: Time series of citation counts, brand mentions, sentiment by date
- queries: Query-level citation analytics with clustering
- sources: Full domain profile (requires `domain` param)
- feed: Paginated change feed (new/lost/changed citations)
- heatmap: Brand vs competitors across sources matrix

## Query parameters

- `brand_id` string, uuid, required: Brand UUID
- `view` string, nullable: View mode: list (default), history, queries, sources, feed, heatmap
- `limit` integer: Results per page
- `offset` integer: Pagination offset
- `domain` string, nullable: Filter by domain (partial match). Required when view=sources.
- `days` integer: Historical period in days (filters by last_seen date)
- `days_back` integer: Days back for feed comparison (for view=feed)
- `tag_ids` string, nullable: Comma-separated tag UUIDs to filter by prompt tags
- `prompt_text` string, nullable: Filter citations by prompt text (partial match)
- `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
  - CitationsResponse: GET /get-citations response.
    - `brand` object, required
    - `citations` CitationItem[], required
      - `id` string, required
      - `url` string, required
      - `domain` string, required
      - `page_title` string, nullable
      - `prompt` object
      - `prompts` string[]
      - `metrics` object
      - `seo` object
      - `source_type` string
      - `search_model` string, nullable
      - `ai_provider` string, nullable
      - `ai_providers` string[], nullable
      - `provider_counts` object, nullable
      - `date` string, nullable
      - `mentions_brand` boolean
      - `brand_check` string
      - `not_checked_reason` string, nullable
      - `competitors` string[]
      - `first_seen` string, nullable
      - `last_seen` string, nullable
    - `pagination` PaginationInfo, required: Pagination metadata.
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
      - `has_more` boolean, required
  - CitationsHistoryResponse: GET /get-citations?view=history
    - `brand` object, required
    - `brand_time_series` CitationsTimeSeriesPoint[], required
      - `date` string, required
      - `total_citations` integer, required
      - `new_citations` integer, nullable
      - `brand_mentions` integer, required
      - `new_brand_mentions` integer, nullable
      - `unique_sources` integer, required
      - `avg_sentiment` number, nullable
    - `competitor_time_series` object, required
    - `snapshots_available` integer, required
    - `date_range` object, required
  - CitationsQueriesResponse: GET /get-citations?view=queries
    - `brand` object, required
    - `clusters` CitationsQueryCluster[], required
      - `intent` string, required
      - `label` string, required
      - `queries` string[], required
      - `total_citations` integer, required
      - `brand_appears_in` integer, required
      - `coverage_rate` number, required
    - `top_queries` CitationsQueryInsight[], required
      - `query` string, required
      - `intent` string, required
      - `frequency` integer, required
      - `citations_found` integer, required
      - `brand_appears` boolean, required
      - `top_sources` string[], required
      - `competitors_appearing` string[], required
      - `is_new` boolean, required
      - `trend` string, required
    - `gap_queries` CitationsQueryInsight[], required
      - `query` string, required
      - `intent` string, required
      - `frequency` integer, required
      - `citations_found` integer, required
      - `brand_appears` boolean, required
      - `top_sources` string[], required
      - `competitors_appearing` string[], required
      - `is_new` boolean, required
      - `trend` string, required
    - `coverage_by_intent` object, required
    - `new_queries_count` integer, required
    - `rising_queries_count` integer, required
  - CitationsSourceResponse: GET /get-citations?view=sources
    - `brand` object, required
    - `domain` string, required
    - `total_citations` integer, required
    - `unique_pages` integer, required
    - `mentions_you` boolean, required
    - `mention_count` integer, required
    - `competitors_on_domain` string[], required
    - `avg_sentiment` number, nullable
    - `pages` CitationsDomainPage[], required
      - `url` string, required
      - `h1` string, nullable
      - `sentiment` integer, nullable
      - `mentions_brand` boolean
      - `brand_check` string
      - `not_checked_reason` string, nullable
      - `competitors` string[]
      - `appearance_count` integer
    - `first_seen` string, nullable
    - `last_seen` string, nullable
  - CitationsFeedResponse: GET /get-citations?view=feed
    - `brand` object, required
    - `events` CitationsFeedEvent[], required
      - `event_type` string, required
      - `url` string, required
      - `domain` string, required
      - `h1` string, nullable
      - `source_type` string, nullable
      - `timestamp` string, required
      - `mentions_brand` boolean, nullable
      - `sentiment` integer, nullable
      - `prev_sentiment` integer, nullable
      - `appearance_count` integer, nullable
      - `prev_appearance_count` integer, nullable
      - `new_competitors` string[], nullable
      - `prompts` string[], nullable
    - `current_snapshot_date` string, nullable
    - `previous_snapshot_date` string, nullable
    - `total_current` integer
    - `total_previous` integer
  - CitationsHeatmapResponse: GET /get-citations?view=heatmap
    - `brand` object, required
    - `domains` string[], required
    - `brands` string[], required
    - `your_brand` string, required
    - `cells` CitationsHeatmapCell[], required
      - `domain` string, required
      - `brand` string, required
      - `is_present` boolean, required
      - `mention_count` integer, required
    - `your_coverage` number, required
    - `competitor_coverage` object, required
  - CitationsAnalyticsResponse: GET /get-citations?view=analytics
    - `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
    - `summary` CitationsSummary, required
      - `total_citations` integer, required
      - `unique_sources` integer, nullable
      - `total_domains` integer, required
      - `brand_mentions` integer, required
      - `competitor_mentions` integer, nullable
      - `positive_percentage` number, nullable
      - `avg_sentiment` number, nullable
      - `citations_change` number, nullable
      - `brand_mentions_change` number, nullable
      - `source_type_breakdown` SourceTypeStats[], nullable
        - `source_type` string, required
        - `count` integer, required
        - `percentage` number, required
    - `top_domains` CitationsTopDomain[], required
      - `domain` string, required
      - `times_cited` integer, required
      - `unique_pages` integer, required
      - `citation_share` number, nullable
      - `source_type` string, nullable
    - `top_competitors` CitationsTopCompetitor[], required
      - `name` string, required
      - `times_cited` integer, required
      - `unique_sources` integer, required
      - `citation_share` number, required
    - `period_figures` object, nullable
  - CitationDetailResponse: GET /get-citations?view=detail
    - `brand` object, required
    - `url` string, required
    - `domain` string, required
    - `h1` string, nullable
    - `sentiment` integer, nullable
    - `sentiment_label` string, nullable
    - `mentions_brand` boolean
    - `brand_check` string
    - `not_checked_reason` string, nullable
    - `competitors` string[]
    - `topics` string[]
    - `appearance_count` integer
    - `first_seen` string, nullable
    - `last_seen` string, nullable
    - `prompts` string[]
    - `source_type` string, nullable
    - `appearances` CitationAppearance[]
      - `date` string, nullable
      - `model` string, nullable
      - `prompt` string, nullable
    - `related_citations` string[]
  - CitationsByModelResponse: GET /get-citations?view=by_model
    - `brand` object, required
    - `models` CitationsByModelItem[], required
      - `model` string, required
      - `total_citations` integer, required
      - `brand_mentions` integer, required
      - `unique_sources` integer, required
      - `top_domains` string[]
  - CitationsTopPagesResponse: GET /get-citations?view=top_pages
    - `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
    - `pages` CitationsTopPage[], required
      - `url` string, required
      - `domain` string, required
      - `h1` string, nullable
      - `appearance_count` integer
      - `appearance_count_30d` integer, nullable
      - `sentiment` integer, nullable
      - `mentions_brand` boolean
      - `brand_check` string
      - `not_checked_reason` string, nullable
      - `competitors` string[]
      - `source_type` string, nullable
      - `appearance_count_period` integer, nullable
      - `models` string[]
    - `total` 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)
