Narrative Intelligence API

Time series of
media narratives

See how coverage of a public figure, place, company, or event is developing day by day — across multiple channels. What each channel amplifies (Observed sentiment) vs what the broader media corpus actually says (Expected sentiment).

Current channels: Google News editorial algorithm, financial press (Finnhub), and local outlets across all 50 US states. More channels — social media, newsletters — coming soon.

736k+
Articles processed
500+
Tracked entities
90 days
Daily time series
50 states
US local coverage
GET /v1/narratives
// Narrative time series for Federal Reserve
GET /v1/narratives
  ?entity=federal+reserve
  &concept=rate+hike
  &from=2026-09-01

{
  "entity": "federal reserve",
  "concept": "rate hike",
  "series": [
    {
      "date": "2026-09-14",
      "mentions": 47,
      "sentiment": -0.220,
      "expectedSentiment": -0.065,
      "ciLow": -0.180,
      "ciHigh": 0.050,
      "sampleSize": 24
    }
    // ... 89 more days
  ]
}
API Reference

9 endpoints, one narrative intelligence layer

Every endpoint returns observed sentiment and expected sentiment with confidence intervals. The subject of coverage — a person, company, place, or event, which we call an entity — is tracked alongside the specific storyline around them, which we call a concept. Together they give you up to 90 days of daily narrative history.

GET/v1/narratives
Narrative Intelligence Series

Daily time series for any entity+concept pair: mention count, observed sentiment (filterable by channel: google-news, financial, or all), expected sentiment (full corpus baseline), and 95% CI. Up to 90 days of history.

Starter+
GET/v1/trending
Trending Entities

Entities ranked by recency-weighted media velocity. 3× weight for last 24h, 2× for 24–48h. Filter by category.

Free
GET/v1/entity/{entity}/coverage
Entity Coverage

All concepts associated with an entity — every angle the media is framing them through. Mention count, observed sentiment, and expected sentiment per concept.

Free
GET/v1/search
Entity Search

Resolve canonical entity names. "TSA" → "transportation security administration". Every other endpoint requires the canonical form.

Free
GET/v1/articles
Articles

Article metadata for an entity+concept pair: URL, title, source, date, and per-article sentiment with ES for context.

Starter+
GET/v1/stocks/sentiment
Stock Sentiment

Financial press vs. general press sentiment split per tracked stock. Includes price trend and market-wide context.

Professional+
GET/v1/local/{state}
Local News

State-level trending coverage for all 50 US states. Top articles with entity-concept sentiment, 24-hour window.

Professional+
POST/v1/analyze
Article Analysis

Send any article text. Returns every entity mentioned with sentiment, expected sentiment, and CI bounds. You scrape, we signal.

Professional+
POST/v1/enrich
On-Demand Enrichment

Trigger expected sentiment computation for any entity+concept pair not yet in the dataset. Returns ES + CI + contributing domains.

Professional+
Methodology

How narrative divergence is measured

Two signals per entity+concept pair — what gets amplified, and what the media actually says.

01
Observed signal

We ingest from multiple channels: Google News section feeds (editorial algorithm), financial press via Finnhub, and local RSS outlets across all 50 US states. Each channel has its own observed sentiment for any entity+concept pair — letting you compare how different channels cover the same story.

02
Population baseline

For each entity+concept pair, we run a separate Google News search and pull ~60 articles stratified across wire, broadcast, print, independent, and local sources — the full media corpus, not just what was promoted.

03
Sentiment extraction

Each article is analyzed by an LLM for its specific sentiment toward the entity regarding that concept. Targeted — not topic-level tone, but sentiment about one entity through one lens.

04
Bootstrap CI

1,000 cluster bootstrap resamples at the source-domain level give a 95% confidence interval — handles within-source editorial correlation without parametric assumptions.

05
Reading the CI width

A narrow CI (< 0.3) means the media landscape broadly agrees — settled consensus. A wide CI (> 0.6) means the population itself is divided — contested terrain before any individual source is considered.

06
The divergence

Compare the observed (amplified) signal against the population CI. A gap outside the CI tells you where editorial curation departs from what the media landscape actually says.

Pricing

Start free, scale as you build

All plans include Search and Trending. Upgrade for the narrative intelligence time series and analysis endpoints.

Free
$0/mo
1,000 calls / month

  • ✓ Entity search
  • ✓ Trending entities
  • ✓ Entity coverage
  • – Narrative intelligence series
  • – Articles endpoint
  • – Article analysis
  • – Stock sentiment
  • – Local news
Most popular
Starter
$49/mo
20,000 calls / month

  • ✓ Everything in Free
  • ✓ Narrative intelligence — 30 days
  • ✓ Articles endpoint
  • ✓ Expected sentiment + CI
  • – Article analysis (POST)
  • – Stock sentiment
  • – Local news
  • – On-demand enrichment
Professional
$199/mo
200,000 calls / month

  • ✓ Everything in Starter
  • ✓ Narrative intelligence — 90 days
  • ✓ Article analysis (POST)
  • ✓ On-demand enrichment
  • ✓ Stock sentiment
  • ✓ Local news (all 50 states)
  • ✓ Priority email support
Enterprise
Custom
Unlimited calls

  • ✓ All Professional features
  • ✓ Raw data export
  • ✓ Custom entity tracking
  • ✓ Higher rate limits
  • ✓ SLA guarantee
  • ✓ Dedicated onboarding
  • ✓ White-label option
Get started

Narrative intelligence, as an API

Free tier, no credit card required. 1,000 calls per month to explore the data.

Get a free API keyTry the explorer