Skip to main content
Narrative is in alpha. The endpoint is live and stable enough to ship behind, but the output format, summarisation depth, and per-customer tailoring are actively evolving. We are deliberately keeping this surface flexible while we co-design it with the first wave of customers.If you have an opinion on how a narrative summary should read for your use case — newsroom desk-ready prose, SOC-grade incident framing, brand-risk tone, regulator-facing neutrality — email [email protected] and we will route your input directly into the roadmap. The customers who reach out now are the ones whose voice shapes the v1 contract.
The narrative endpoint returns an editorial summary of the dominant storyline on a topic or watchlist over the last rolling window, plus a structured breakdown of sub-narratives and their relative weights. Where trending gives you words and alerts gives you events, narrative gives you the story — written in English by the editorial summarisation pipeline, ready to drop into a tile, a digest, or a brief.

What “alpha” means here

Concretely, today:
  • The endpoint shape is stable. summary, sub_narratives[], data_freshness, snapshot_id are the contract — these fields will not be removed without a major version bump. Build against them now.
  • The summary length, voice, and sectioning are evolving. Today summaries are 1–3 sentences in a neutral editorial register. We are actively prototyping longer-form briefs, audience-tuned voices (newsroom / SOC / brand / regulator), and structured “what / who / where / why” breakdowns.
  • Per-customer tailoring is on the immediate roadmap. Know-tier customers will be able to specify register, length, audience, and inclusion/exclusion preferences for the narrative on their own watchlists and private topics. The shape of that configuration is being decided now, with input from design-partner customers.
  • Historical narratives (/narratives/history) are stable and unaffected by this alpha — that surface is See/Know-tier production.
If your team needs a specific output shape (a daily desk-ready brief, a SOC ticket-ready paragraph, a regulator-facing neutral synopsis), tell us and we will build for it. The design partner program is open and unpaid — you get early access to the tailored output, we get the requirements signal.

The endpoints

This page covers the latest narrative endpoints. History and evidence are documented in Topics and watchlists.

The response envelope

Field guide

The structural fields (weight, lead_terms, domain_count, language_count, source_diversity) are the safe ones to build automation against today. The prose fields (summary, sub_narratives[].title) are where we expect the most evolution as we tailor for customers.

Calling it


Reading the response

summary

Plain English, neutral register, drop straight into a Slack tile or email digest. Today’s summaries are 1–3 sentences. They are designed to be readable by a non-technical reader (an exec, a comms lead, a duty editor) without context. Do not parse the summary in code. Treat it as an opaque string. If your application needs structured fields (entities mentioned, sentiment, geography), use the sub_narratives[] breakdown or pivot into entities and clusters.

sub_narratives[]

The dominant story is rarely monolithic — it’s usually composed of 2–5 threads with different emphases. sub_narratives[] exposes those threads with weights summing to roughly 1.0. Use them to:
  • power a “what’s in the mix” expandable on a dashboard,
  • detect a pivot (a thread’s weight jumping snapshot-over-snapshot),
  • route to the right team (an Iran-Israel sub-narrative on global goes to the foreign desk; an ECB sub-narrative goes to the markets desk).

source_diversity

The breadth of the conversation. A narrative with 263 domains and 21 languages is a genuinely global story; one with 12 domains and 2 languages is regional or niche. Useful as a filter for “is this worth surfacing to leadership.”

Cadence

Narrative regenerates on the same snapshot cadence as trending — every few minutes. The summarisation step is more expensive than ranking, so individual narrative responses may lag a snapshot or two behind trending under heavy load. data_freshness.snapshot_age_seconds always reflects the actual age of the data backing this narrative. Polling faster than the snapshot cadence is wasted RPM. See Rate limits.

Narrative on a watchlist

Same shape, scoped to your watchlist’s terms. Particularly useful for brand and risk monitoring — the narrative around your scope often diverges from the topic baseline.
A real example on an acme-monitoring watchlist might surface a sub-narrative around an executive announcement that is invisible at the global level — exactly the kind of “what is my story” view that benefits most from per-customer voice tailoring.

Historical narratives (stable surface)

/v1/topics/{topic}/narratives/history returns the time-series of narrative shifts — when sub-narratives entered, peaked, and faded. Same envelope shape as the latest endpoint, plus a narratives[] array indexed by snapshot. Available See+ and not in alpha — the contract is stable. See Topics and watchlists.

Roadmap and how to influence it

The shortlist of items actively under design, in priority order:
  1. Audience-tuned voice. Per-key configuration of register: editorial, analyst, executive, regulator. Same data, different tone.
  2. Per-customer brief format. Optional structured sections (what, who, where, why_it_matters) for customers building automated briefs.
  3. Length controls. concise (1 sentence), default (1–3), brief (paragraph), report (multi-paragraph with sub-headers).
  4. Inclusion/exclusion lexicons. Customer-specific stopwords and “always mention if present” terms baked into summarisation.
  5. Narrative deltas. A vs_previous_snapshot field describing what changed — “ECB pivot rumours overtook Eurovision as the second-largest thread.”
  6. Multi-language summaries. French, German, Spanish, Arabic native summaries — not translations.
This list is not fixed. It will move based on what design-partner customers ask for. If your priority isn’t here, tell us — we are explicitly looking for the use cases we haven’t seen yet.

How to engage

  • Email [email protected] with one paragraph: who you are, what scope you’d use narrative on, what shape of output would make it indispensable for your workflow.
  • Or book a 30-minute design call via the same address — we run these weekly with prospective design partners.
  • Or just send the JSON shape you wish you got back and we’ll tell you whether and when we can ship it.
The earliest customers shape the contract. Once we lock v1, the surface stabilises and tailoring moves behind a “preference profile” rather than a co-design conversation.

Operational guidance

  • Don’t parse summary. It’s prose, not structured data. Use sub_narratives[].title and lead_terms for structured logic.
  • Watch weight shifts snapshot-over-snapshot to detect narrative pivots — often the most valuable signal narrative gives you.
  • Pair with trending for full state coverage: trending shows the spike, narrative shows the story it composes.
  • Pair with alerts for full event coverage: an alert is the moment a sub-narrative is born; narrative is what it grew into 30 minutes later.
  • Cite snapshot_id in any downstream artefact (brief, ticket, dashboard) so the analysis is reproducible if the narrative shifts.
  • Build against structural fields first — given the alpha status of the prose, automation that depends on weight, lead_terms, domain_count is more durable today than automation that depends on summary wording.

Errors specific to narrative

Full error envelope: Errors.

What’s not narrative

Narrative is the state-of-the-story view at a snapshot. Reports are deeper, scheduled, editorial. Alerts are the events that compose it.
Last reviewed: 2026-05-19. API version 1.2.8. summary and sub_narratives[].title wording in alpha — actively shaped by design-partner feedback.