Skip to main content
POST
/
v1
/
topics
/
breakout
/
search
Search Breakout Topics
curl --request POST \
  --url https://api.upriver.ai/v1/topics/breakout/search \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "query": "<string>",
  "vertical": "<string>",
  "mode": "hybrid",
  "surface_mode": "topic",
  "limit": 20,
  "include": [
    "<string>"
  ],
  "include_citations": false,
  "query_context": {
    "source": "<string>",
    "series_title": "<string>",
    "market_subtitle": "<string>",
    "competition": "<string>",
    "competition_scope": "<string>",
    "contract_tickers": [
      "<string>"
    ],
    "contract_titles": [
      "<string>"
    ],
    "contract_subtitles": [
      "<string>"
    ]
  }
}
'
{
  "search_mode": "<string>",
  "surface_mode": "topic",
  "topics": [
    {
      "topic_id": "<string>",
      "topic_name": "<string>",
      "canonical_name": "<string>",
      "vertical": "<string>",
      "status": "<string>",
      "peak_score": 123,
      "discovered_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "category": "<string>",
      "relevance_score": 123,
      "engagement": {
        "percentile_score": 123
      },
      "confidence_score": 123,
      "last_signal_at": "2023-11-07T05:31:56Z",
      "source_summary": {},
      "citations": [
        {
          "source_category": "<string>",
          "source_url": "<string>",
          "title": "<string>",
          "snippet": "<string>",
          "source_authority": 123,
          "engagement_score": 123,
          "published_at": "2023-11-07T05:31:56Z"
        }
      ],
      "entities": [
        {
          "canonical_name": "<string>",
          "entity_type": "<string>",
          "confidence": 123,
          "entity_id": "<string>",
          "entity_subtype": "<string>"
        }
      ],
      "trend": {
        "momentum": 1,
        "direction": "up"
      },
      "citation_rate": [
        {
          "day": "<string>",
          "count": 123
        }
      ],
      "narrative": {
        "narrative_id": "<string>",
        "display_name": "<string>",
        "member_count": 123,
        "arc_summary": [
          "<string>"
        ]
      }
    }
  ],
  "stories": [
    {
      "requested_view": "cluster",
      "seed_topic": {
        "topic_id": "<string>",
        "topic_name": "<string>",
        "canonical_name": "<string>",
        "vertical": "<string>",
        "status": "<string>",
        "peak_score": 123,
        "discovered_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "category": "<string>",
        "relevance_score": 123,
        "engagement": {
          "percentile_score": 123
        },
        "confidence_score": 123,
        "last_signal_at": "2023-11-07T05:31:56Z",
        "source_summary": {},
        "citations": [
          {
            "source_category": "<string>",
            "source_url": "<string>",
            "title": "<string>",
            "snippet": "<string>",
            "source_authority": 123,
            "engagement_score": 123,
            "published_at": "2023-11-07T05:31:56Z"
          }
        ],
        "entities": [
          {
            "canonical_name": "<string>",
            "entity_type": "<string>",
            "confidence": 123,
            "entity_id": "<string>",
            "entity_subtype": "<string>"
          }
        ],
        "trend": {
          "momentum": 1,
          "direction": "up"
        },
        "citation_rate": [
          {
            "day": "<string>",
            "count": 123
          }
        ],
        "narrative": {
          "narrative_id": "<string>",
          "display_name": "<string>",
          "member_count": 123,
          "arc_summary": [
            "<string>"
          ]
        }
      },
      "surface": {
        "story_id": "<string>",
        "surface_type": "topic",
        "member_topic_ids": [
          "<string>"
        ],
        "display_name": "<string>",
        "story_score": 123,
        "member_count": 123,
        "lead_topic_id": "<string>",
        "description": "<string>",
        "latest_signal_at": "2023-11-07T05:31:56Z",
        "coherence_score": 123,
        "projection_refreshed_at": "2023-11-07T05:31:56Z"
      },
      "member_topics": [
        {
          "topic_id": "<string>",
          "topic_name": "<string>",
          "canonical_name": "<string>",
          "vertical": "<string>",
          "status": "<string>",
          "peak_score": 123,
          "discovered_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "category": "<string>",
          "relevance_score": 123,
          "engagement": {
            "percentile_score": 123
          },
          "confidence_score": 123,
          "last_signal_at": "2023-11-07T05:31:56Z",
          "source_summary": {},
          "citations": [
            {
              "source_category": "<string>",
              "source_url": "<string>",
              "title": "<string>",
              "snippet": "<string>",
              "source_authority": 123,
              "engagement_score": 123,
              "published_at": "2023-11-07T05:31:56Z"
            }
          ],
          "entities": [
            {
              "canonical_name": "<string>",
              "entity_type": "<string>",
              "confidence": 123,
              "entity_id": "<string>",
              "entity_subtype": "<string>"
            }
          ],
          "trend": {
            "momentum": 1,
            "direction": "up"
          },
          "citation_rate": [
            {
              "day": "<string>",
              "count": 123
            }
          ],
          "narrative": {
            "narrative_id": "<string>",
            "display_name": "<string>",
            "member_count": 123,
            "arc_summary": [
              "<string>"
            ]
          }
        }
      ],
      "search_match": {
        "matched_topic_count": 123,
        "matched_topic_ids": [
          "<string>"
        ],
        "match_sources": [
          "<string>"
        ]
      }
    }
  ]
}

Authorizations

X-API-Key
string
header
required

Body

application/json

Request for searching breakout topics.

query
string
required

Search query text

Minimum string length: 1
vertical
string | null

Filter by vertical (e.g., 'sports')

mode
enum<string>
default:hybrid

Search mode: vector, keyword, hybrid

Available options:
vector,
keyword,
hybrid
surface_mode
enum<string>
default:topic

Return raw topics or deduped derived story surfaces

Available options:
topic,
story
limit
integer
default:20

Maximum number of results. Requesting more than 20 results requires a credits-based plan.

Required range: 1 <= x <= 100
include
string[]

Optional expansions to include in the response. Allowed values: citations, entities. Example: ["citations", "entities"]

include_citations
boolean
default:false

Deprecated: use include=["citations","entities"] instead.

query_context
SearchQueryContext · object

Optional source-aware context for query rewriting. Useful for terse external prompts such as Kalshi markets.

Response

Successful Response

Response for searching breakout topics.

search_mode
string
required

Search mode used

surface_mode
enum<string>
default:topic

Whether search returned raw topics or derived story surfaces

Available options:
topic,
story
topics
BreakoutTopicResponse · object[]

Matching topics when surface_mode=topic

stories
TopicStoryViewResponse · object[]

Matching story surfaces when surface_mode=story