---
title: "Get trending topics from curated sources"
method: GET
path: "/radar"
tags: ["Composition"]
---

# Get trending topics from curated sources

`GET /radar`

## Query parameters

- `after` string
- `category` 'general' | 'tech' | 'dev' | 'science' | 'culture' | 'politics' | 'business' | 'entertainment'
- `hours` integer
- `limit` integer
- `region` string
- `source` 'github' | 'google_trends' | 'hacker_news' | 'polymarket' | 'reddit' | 'trustmrr' | 'wikipedia'

## Response `200`

Radar items

- object
  - `hasMore` boolean, required
  - `items` RadarItem[], required
    - `id` string, required — Radar item identifier.
    - `sourceId` string, required — Source-specific identifier used for deduplication.
    - `title` string, required
    - `url` string
    - `score` number, required
    - `category` 'general' | 'tech' | 'dev' | 'science' | 'culture' | 'politics' | 'business' | 'entertainment', required
    - `source` 'github' | 'google_trends' | 'hacker_news' | 'polymarket' | 'reddit' | 'trustmrr' | 'wikipedia', required
    - `region` string, required
    - `language` string, required
    - `metadata` object, required — Source-specific fields. Shape varies per source: - reddit: { subreddit: string, author: string } - github: { starsToday: number } - hacker_news: { points: number, numberComments: number } - google_trends: { approxTraffic: number } - polymarket: { volume24hr: number } - wikipedia: { views: number } - trustmrr: { mrr, growthPercent, last30Days, total, customers, activeSubscriptions, onSale, xHandle?, category?, askingPrice?, country?, growthMrrPercent?, multiple?, paymentProvider?, rank? }
    - `publishedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `description` string
    - `imageUrl` string
  - `nextCursor` string — Opaque cursor for the next page (present only when hasMore is true).

## Other responses

- `400` — Invalid input
- `401` — Unauthenticated
- `429` — Xquik tier rate limit exceeded. The response includes a `Retry-After` header with the number of seconds to wait before retrying.

## Changes

- **2026-07-13** `83005363f122` — 5 breaking, 28 info
  - for the `query` request parameter `region`, default value `global` was added
  - for the `query` request parameter `hours`, default value was changed from `24` to `6`
  - for the `query` request parameter `hours`, the max was decreased from `168.00` to `72.00`
  - added `subschema #1: LegacyErrorCode, subschema #2: StructuredError` to the `error` response property `oneOf` list for the response status `401`
  - …29 more
- **2026-04-25** `2adc33156b4b` — 3 breaking, 20 warning, 22 info
  - the `query` request parameter `category` was restricted to a list of enum values
  - for the `query` request parameter `hours`, default value `24` was added
  - removed the required property `total` from the response with the `200` status
  - for the `query` request parameter `hours`, the max was set to `168.00`
  - …41 more
- **2026-04-08** `d40c57a05527` — 1 breaking, 7 info
  - the `query` request parameter `source` was restricted to a list of enum values
  - added the new enum value `github` to the `query` request parameter `source`
  - added the new enum value `google_trends` to the `query` request parameter `source`
  - added the new enum value `hacker_news` to the `query` request parameter `source`
  - …4 more

[Change history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/radar/get.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api/revisions/83005363f122/schema)
