> For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.sonicalpha.ai/llms.txt. For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sonicalpha.ai/_mcp/server. For SDK generation or contract validation, use the authoritative OpenAPI spec at https://api.sonicalpha.ai/openapi.json — this docs domain's /openapi.json is a regenerated copy that can differ in auth modeling and strictness annotations.

# Track narrative shifts

**Goal:** catch the narrative around a name or debate shifting — which
arguments are gaining ground, which are being abandoned, and who moved.

Every insight is stamped with the moment it was said (`published_at` — the
episode's air date), so the corpus supports point-in-time comparison. Run
the same [Search](/api-reference/insights/search-insights) over two
windows:

```json
{
  "query": "NVIDIA competitive exposure to hyperscaler custom ASICs",
  "tickers": ["NVDA"],
  "date_from": "2026-03-01",
  "date_to": "2026-05-31"
}
```

```json
{
  "query": "NVIDIA competitive exposure to hyperscaler custom ASICs",
  "tickers": ["NVDA"],
  "date_from": "2026-06-01"
}
```

Or let [Ask](/api-reference/insights/ask) do the comparison — it reads a
time window from the question:

```json
{"query": "How has the investor narrative on NVIDIA's ASIC exposure shifted since June?", "answer": true}
```

**Look for:** arguments that appear in the recent window but not the
earlier one, arguments that quietly disappear, sentiment flipping on the
same mention, and new speakers entering the debate — each is a narrative
shift the price may not have digested yet.

---

A pattern across all recipes: use **Ask** to open an investigation, then
**Search** to pull the specific evidence sets you want to work with. The
insight objects that come back are the same either way — see
[The Data Model](/concepts/data-model).