---
title: "Get Topic Feed"
method: GET
path: "/api/v1/ai/topic-radar/feed"
tags: ["ai-topic-radar"]
---

# Get Topic Feed

`GET /api/v1/ai/topic-radar/feed`

## Request

- Base URL: `https://useaistation.com` (the document declares no server; this is the origin it was published from)
- URL: `https://useaistation.com/api/v1/ai/topic-radar/feed`
- Auth: none declared

## Query parameters

- `q` string
- `platform` string
- `target_platform` string
- `region` string
- `category` string
- `source` string
- `stage` string
- `lane` string
- `locale` string
- `market` string
- `evidence_state` string
- `signal` string
- `keywords` string
- `exclude_sources` string
- `min_score` integer
- `new_only` boolean
- `max_age_hours` integer, nullable
- `offset` integer
- `limit` integer
- `refresh_token` string

## Response `200`

Successful Response

- TopicFeedResponse
  - `generated_at` string, required
  - `status` string, required
  - `partial` boolean, required
  - `stale` boolean, required
  - `items` TopicCluster[], required
    - `id` string, required
    - `title` string, required
    - `title_en` string, required
    - `summary` string, required
    - `summary_en` string, required
    - `what_happened` string
    - `what_happened_en` string
    - `why_worth_research` string
    - `why_worth_research_en` string
    - `source` string, required
    - `source_id` string, required
    - `source_url` string, required
    - `platform` string, required
    - `observed_platforms` string[]
    - `region` string, required
    - `category` string, required
    - `category_id` string
    - `category_en` string
    - `trend_stage` string, required
    - `opportunity_score` integer, required
    - `rank` integer, nullable
    - `heat` number, nullable
    - `published_at` string
    - `first_seen_at` string, required
    - `target_platforms` string[]
    - `tags` string[]
    - `evidence` TopicEvidence[]
      - `source_id` string, required
      - `source` string, required
      - `url` string
      - `rank` integer, nullable
      - `heat` number, nullable
      - `observed_at` string, required
      - `original_title` string
      - `published_at` string
      - `collector_id` string
      - `origin_platform` string
      - `publisher` string
      - `canonical_url` string
      - `document_id` string
      - `source_role` string
      - `quality_tier` string
      - `independent_origin_id` string
      - `source_market` string
    - `signal_count` integer
    - `trend` TopicTrendMetrics: History-derived movement; absent until the radar has observations.
      - `history_points` integer
      - `tracked_hours` number
      - `first_observed_at` string
      - `last_observed_at` string
      - `best_rank` integer, nullable
      - `peak_heat` number, nullable
      - `score_change_24h` integer, nullable
      - `score_change_7d` integer, nullable
      - `source_count` integer
      - `is_new_24h` boolean
      - `velocity_1h` integer, nullable
      - `velocity_6h` integer, nullable
      - `velocity_24h` integer, nullable
      - `source_spread_hours` number, nullable
    - `score_breakdown` TopicScoreBreakdown
      - `freshness` integer
      - `velocity` integer
      - `independent_sources` integer
      - `cross_region` integer
      - `absolute_heat` integer
      - `evidence` integer
      - `trend` integer
      - `editorial` integer
      - `confidence` integer
      - `market_fit` integer
      - `methodology` string
    - `primary_category` 'world' | 'business' | 'technology' | 'society_health' | 'culture' | 'sports' | 'lifestyle' | 'climate'
    - `secondary_tags` string[]
    - `content_type` string
    - `sensitivity_level` string
    - `collector_id` string
    - `origin_platform` string
    - `publisher` string
    - `canonical_url` string
    - `original_title` string
    - `title_localization_state` string
    - `source_role` string
    - `quality_tier` string
    - `independent_origin_id` string
    - `event_signature` string
    - `cluster_confidence` integer
    - `classification_confidence` integer
    - `classification_method` string
    - `trend_score` integer
    - `editorial_score` integer
    - `confidence_score` integer
    - `market_fit_score` integer
    - `editorial_lane` string
    - `editorial_lanes` string[]
    - `evidence_state` string
    - `source_market` string
    - `source_languages` string[]
    - `home_market` string
    - `market_lead_direction` string
    - `rejection_reasons` string[]
    - `last_source_update_at` string
    - `next_refresh_at` string
  - `source_status` SourceStatus[], required
    - `id` string, required
    - `name` string, required
    - `status` string, required
    - `item_count` integer
    - `last_success_at` string
    - `region` string
    - `platform` string
    - `note` string
    - `last_attempt_at` string
    - `cache_expires_at` string
    - `freshness_seconds` integer, nullable
    - `consecutive_failures` integer
    - `circuit_open` boolean
    - `next_probe_at` string
    - `active` boolean
    - `refresh_interval_seconds` integer
    - `next_refresh_at` string
  - `total` integer
  - `signal_total` integer
  - `raw_signal_total` integer
  - `pool_total` integer
  - `offset` integer
  - `limit` integer
  - `has_more` boolean
  - `stage_counts` object
  - `facets` object
  - `refreshing` boolean
  - `snapshot_age_seconds` integer
  - `history_available` boolean
  - `coverage` object
  - `signal_counts` object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/useaistation/apis/akaiagents-ai-workstation-api.md) · [All operations](https://skmtc.dev/useaistation/apis/akaiagents-ai-workstation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/useaistation/apis/akaiagents-ai-workstation-api/revisions/829070f6ff15?raw)
